好的,所以我有:一个数组(a)的数组(b)数组(c)。
我正在尝试遍历数组并取消设置(或准确地删除)所有数组在'c'级别,少于3项。< / p>
你会怎么做?
我已尽力使用unset
,但我仍然不能得到我需要的结果。
foreach ($data as $a=>&$data_section)
{
foreach ((array)$data_section as $b=>$pattern)
{
if (count((array)$pattern)<3) { unset($data_section[$b]); }
}
}
这个错误:
致命错误:无法取消设置字符串偏移
答案 0 :(得分:0)
为什么不使用array_filter。
php 5.3+语法
$data = array_filter($data, function($a){ return count($a) >2; });
pre php 5.3
function countGreaterThanTwo($a){ return count($a) >2; };
$data = array_filter($data, "countGreaterThanTwo");
所以在上面的例子中你会做
foreach ($data as $a=>&$data_section)
{
foreach ($data_section as $b=>&$pattern)
{
$pattern = array_filter($pattern, function($a){ return count($a) >2; });
}
}