根据数组元素的类型返回数组元素


Returning array elements according to their types

我正在阅读有关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.我确定算法有问题,但我需要有关如何理解这些算法的建议

不允许

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 ,它将为您提供变量的类型和

$integerValues = array_filter($array1,'is_integer');
$booleanValues = array_filter($array1,'is_bool');

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

您可以使用此示例

$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";
        }
    }
}