根据类型返回数组元素

时间:2012-08-15 11:32:10

标签: php

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

4 个答案:

答案 0 :(得分: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,它将为您提供变量的类型

答案 1 :(得分:3)

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

答案 2 :(得分:0)

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

答案 3 :(得分: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";
        }
    }
}