在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。