【发布时间】:2021-09-28 15:29:39
【问题描述】:
谁能帮帮我。
我正在寻找一种解决方案,如何检查 $testArray 中是否存在 ['value']['content'] == 1 的数组
我试过了:
$bool = in_array('1', array_column($testArray, 'content'));
var_dump($bool);
但是我得到一个返回 FALSE,但是如果你看一下下面的 testArray,你会看到第一个数组有 ['value']['content'] => '1';
<?php
$testArray = array(
array(
'id' => '414-b9108bbe-66e3-4c1e-8a51-03b7b8a0d17c',
'position' => 0,
'type' => 'original',
'value' => array
(
'comment' => '',
'content' => '1',
'info' => '',
'insight' => '',
'label' => '',
'report' => '',
)
),
array(
'id' => '414-b9108bbe-66e3-4c1e-8a51-03b7b8a0d18c',
'position' => 0,
'type' => 'original',
'value' => array
(
'comment' => '',
'content' => '',
'info' => '',
'insight' => '',
'label' => '',
'report' => '',
)
),
);
echo '<pre>';
$bool = array_search('content', array_column($testArray, 'value'));
var_dump($bool);
echo '</pre>';
我认为它的值是另一个数组,因为我这样做:
$bool = in_array('original', array_column($testArray, 'type'));
输出:真。
【问题讨论】:
-
&& $block['answer'][$which] === 1? -
我看不到
$block['answer']和那些数组之间的连接,抱歉。 -
为什么你的代码检查数组中的
answer,但你列出的例子却没有提到?您是传入 整个$testArray1或$testArray2作为输入,还是仅传入数组的一个子集? -
忘记了函数,它是一个很长的数组和很多检查。有很多不同的数组。我很抱歉把它放在问题中。我无法检查 && $block['answer']['$wich'] 因为那里启动了数组所以你有 $key[0] 和 $key[1 ] 那里的价值和内容.. 如果你知道我的意思。
-
array_filter($testArray, function ($x) {return $x['value']['content']=== '1';});