Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中从数组的另一个键中查找数组键值_Php_Arrays_Foreach - Fatal编程技术网

在php中从数组的另一个键中查找数组键值

在php中从数组的另一个键中查找数组键值,php,arrays,foreach,Php,Arrays,Foreach,我想在同一数组中的另一个键中找到数组值的一个键 下面是我的数组输出 Array ( [0] => Array ( [id] => 1187 [user_id] => 168 [content] => Thanks a lot man [item_id] => 1182 [sec

我想在同一数组中的另一个键中找到数组值的一个键

下面是我的数组输出

Array
(
    [0] => Array
        (
            [id] => 1187
            [user_id] => 168            
            [content] => Thanks a lot man            
            [item_id] => 1182
            [secondary_item_id] => 1186

        )

    [1] => Array
        (
            [id] => 1186
            [user_id] => 222
            [content] => Great Post
            [item_id] => 1182
            [secondary_item_id] => 1182

        )

    [2] => Array
        (
            [id] => 1183
            [user_id] => 185
            [content] => Amazing first post
            [item_id] => 1182
            [secondary_item_id] => 1182
         )

    [3] => Array
        (
            [id] => 1184
            [user_id] => 179
            [content] => Wonder Post
            [item_id] => 1182
            [secondary_item_id] => 1182
         )

    [4] => Array
        (
            [id] => 1185
            [user_id] => 168
            [content] => Rocking Thanks
            [item_id] => 1182
            [secondary_item_id] => 1183

        )

)
在这里您可以看到数组中的
id
&
secondary\u item\u id
键,因此我想查找数组的secondary\u item\u id键中使用了哪个数组id,或者如何搜索数组的id键在数组的secondary\u item\u id键中使用

例如。。您可以看到
'Great Post'
id键用于
'thanka lot man'
数组的次要\u item\u id键。所以我想搜索哪个数组键id用于数组的第二个\u项\u id键

我试过使用下面的方法,但不起作用

$commentData = array();

foreach ($commentQuery as $key => $value) {
     if(array_search($value['id'], array_column($commentQuery, 'secondary_item_id'))){
                echo "list Found".$value['id'];
     }else{
                echo "list not  Found".$value['id'];
    }
}

只返回
列表未找到1187

我希望这对您有用

$ch=true;
foreach ($commentQuery as $key => $value) {
    foreach ($commentQuery as $key2 => $value2) {
      if($value2['id']==$value['secondary_item_id']){
        $ch=false;
        echo "list Found ".$value['id']." in array key ".$key2;
        break;
      }
    }
     if($ch){
      echo "list not  Found".$value['id'];
     }
    $ch=true;
}

尝试以下操作:-仅使用单个foreach循环

$search\u column变量不在foreach中,因为每次执行这个句子时,代码都会执行得很慢

$search_column = array_column($commentQuery, 'secondary_item_id');
foreach ($commentQuery as $key => $value) {
    $search = null;
    $search = array_search($value['id'], $search_column);
    if (gettype($search) == 'integer') {
        echo "list Found" . $value['id'];
    } else {
        echo "list not  Found" . $value['id'];
    }
    echo "<br>";
}
$search\u column=array\u column($commentQuery,'secondary\u item\u id');
foreach($commentqueryas$key=>$value){
$search=null;
$search=array\u search($value['id',$search\u列);
if(gettype($search)='integer'){
回显“找到列表”。$value['id'];
}否则{
回显“未找到列表”。$value['id'];
}
回声“
”; }
< /代码>如果您对输出数组的格式有控制,考虑将密钥更改为ID本身,那么您可以轻松地访问其ID中的任何项而不必循环。此外,如果您当前的方法返回索引0作为数组_搜索的结果(看起来像是1187的结果),它将解析为false。