我正在读关于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
答案 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";
}
}
}