【发布时间】:2016-11-05 11:07:49
【问题描述】:
您好,我正在尝试在以下数组中查找最长的字符串:
$niza = array( array(5, 1.15 , 15),
array('unknown', 0.75 , 5, array(2, 'bla', 1.15) ),
array(array('text'), 1.15 , 7)
我正在使用以下函数但我没有得到想要的结果,$len 的值保持不变。你能帮帮我吗?
function getLongest($array){
$longest="";
$len=0;
function arrWalk($item){
global $len;
global $longest;
if(is_string($item)) {
echo $len . "<br>";
if (strlen($item) > $len) {
$longest = $item;
$len = strlen($item);
}
}
}
array_walk_recursive($array,'arrWalk');
echo $len;
}
arrWalk($niza);
【问题讨论】:
-
我想
array_reduce()会更合适 -
我认为
getLongest($arr)永远不会被调用。
标签: php arrays recursion array-walk