PHP-数组_diff给出数组到字符串的转换错误
我有一个数组,看起来像这样PHP-数组_diff给出数组到字符串的转换错误,php,array-difference,Php,Array Difference,我有一个数组,看起来像这样 $breadcrumbs = Array ( [0] => Array ( [0] => Home [1] => homepage.html ) [1] => Array ( [0] => About [1] => aboutpage.html )
$breadcrumbs = Array
(
[0] => Array
(
[0] => Home
[1] => homepage.html
)
[1] => Array
(
[0] => About
[1] => aboutpage.html
)
[2] => Array
(
[0] => Contact
[1] => contactpage.html
)
)
$remove = Array
(
[0] => Home
)
我正在尝试使用array_diff从$breadcrumbs中删除Home条目,如下所示
return ( array_diff($breadcrumbs, $remove) );
它不工作,给我数组到字符串的转换错误,我哪里出错了?你可以使用
Array\u filter
来过滤数组。在数组中使用
检查由字符串组成的数组
$breadcrumbs = array(
array('Home','homepage.html'),
array('About','aboutpage.html'),
array('Contact','contactpage.html')
);
$remove = array('Home');
$result = array_filter($breadcrumbs, function($o) use ($remove) {
return !in_array( $o[0], $remove );
});
echo "<pre>";
print_r( $result );
echo "</pre>";
另一个选项,如果只需要页面名称(元素0),可以使用
array\u列
将多维array转换为简单数组
Array
(
[1] => About
[2] => Contact
)
这将导致:
$breadcrumbs = array_column($breadcrumbs, null, 0);
$breadcrumbs = array_diff_key($breadcrumbs, array_flip($remove));
print_r($breadcrumbs);
您可以使用
array\u filter
过滤阵列。在数组中使用
检查由字符串组成的数组
$breadcrumbs = array(
array('Home','homepage.html'),
array('About','aboutpage.html'),
array('Contact','contactpage.html')
);
$remove = array('Home');
$result = array_filter($breadcrumbs, function($o) use ($remove) {
return !in_array( $o[0], $remove );
});
echo "<pre>";
print_r( $result );
echo "</pre>";
另一个选项,如果只需要页面名称(元素0),可以使用
array\u列
将多维array转换为简单数组
Array
(
[1] => About
[2] => Contact
)
这将导致:
$breadcrumbs = array_column($breadcrumbs, null, 0);
$breadcrumbs = array_diff_key($breadcrumbs, array_flip($remove));
print_r($breadcrumbs);
使用一些数组技巧,您可以将面包屑数组转换为关联数组,由第一项设置关键帧,然后与翻转的
$remove
数组一起使用(将值转换为关键帧)
如果希望结束数组是不带字符串键的基于0的数组,请添加
使用一些数组技巧,您可以将面包屑数组转换为关联数组,由第一项设置关键帧,然后与翻转的
$remove
数组一起使用(将值转换为关键帧)
如果希望结束数组是不带字符串键的基于0的数组,请添加
array_diff()
在具有普通数组的多维数组上??我认为在多维数组和普通数组上,不可能重复array\u diff()
??我认为这不可能是一个复制品