0

私はphpに関する本を読んでいます。ここでは、配列の要素をタイプに応じて出力するタスクがあります。だから私は配列$arr = array (5, 'str', 4, 'str1', -100, 10);を作成し、ステートメントを使用foreachして整数の要素を出力しようとしました

foreach ($arr1 as is_integer($arrelem)) 
    {
        print $arrelem;

    }

しかし、これは私にエラーを与えますFatal error: Can't use function return value in write context in。アルゴリズムに何か問題があると確信していますが、これらのアルゴリズムを理解する方法についてアドバイスが必要です

4

4 に答える 4

5

foreach ($arr1 as is_integer($arrelem))許可されていません

次のように書きます。

foreach ($arr1 as $arrelem) {
    if (is_integer($arrelem)) {
        print "int:" . $arrelem;
    } else if (is_string($arrelem)) {
        print "string:" . $arrelem;
    } else {
        print "other:" . $arrelem;
    }
}

これがデバッグ用の場合は、変数のvar_dumpを取得するも使用できます。

于 2012-08-15T11:33:37.427 に答える
3
$integerValues = array_filter($array1,'is_integer');
$booleanValues = array_filter($array1,'is_bool');

于 2012-08-15T11:50:58.953 に答える
0

この例を使用できます

$arr = array(5,'str',4,'str1',- 100,10);

例 1 - ウェイグッド

foreach ($arr as $var) {
    print $var . ": ";
    echo gettype($var), "\n";
}

例 2

foreach ( $arr as $var ) {
    print $var . ": ";
    if (is_integer($var)) {
        if ($var < 0) {
            print "Negative Integer \n";
        } else {
            print "Positive Integer \n";
        }
    }
}
于 2012-08-15T11:45:09.747 に答える
0

キーワードの後に​​変数の名前しか配置できないため、正しい構文ではありません。

于 2012-08-15T11:35:04.437 に答える