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');

ETC

于 2012-08-15T11:50:58.953 回答
0

在关键字之后,它的语法不正确,因为您只能放置变量的名称。

于 2012-08-15T11:35:04.437 回答
0

你可以使用这个例子

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

示例 1 - Waygood

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 回答