繁体   English   中英

注意:数组到字符串的转换PHP

[英]Notice: Array to string conversion PHP

我发现分别在两个数组$item$query之间的交集:

Array ( [0] => twitter [1] => 1 [2] => 561522539340771328 [3] => Array ( ) )

Array ( [0] => dig [1] => twitter )

这是我的代码:

if (array_intersect ( $query, $item )) {
            $intersection [] = $item;
}

它以某种方式返回了该问题标题所定义的通知。 要么我太累了,以至于不知道出了什么问题,否则我可能会发疯, 它是否不应该返回 Array ( [0] => twitter )

这是因为在第一个数组的末尾有一个空数组,而array_intersect()将尝试将其转换为一个字符串,从而产生此错误。

但是要摆脱此错误,您可以使用array_filter()这样:

(同样,您要分配array_intersect的输出,然后使用它)

<?php       

    $item = array("twitter", 1, 561522539340771328, array());
    $query = array("dig", "twitter");

    if ($intersect = array_intersect($query, array_filter($item))) {
                                           //^^^^^^^^^^^^ See here
        $intersection [] = $intersect;
    }

    print_r($intersection);

?>

输出:

Array ( [0] => Array ( [1] => twitter ) )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM