我的任务是找到其他数组中存在其他参数的参数值。我不知道如何通过单词正确描述它,所以这里是伪代码:
if $_POST['from'] == X
在$array
键'name' == X
及其键'timezone'
中查找并将此值保存为参数:
$array = [
[
'name' => 'A',
'timezone' => 'AB',
],
[
'name' => 'B',
'timezone' => 'BC',
],
[
'name' => 'C',
'timezone' => 'AB',
],
如果$_POST['name'] == B
,'timezone' == BC
如果X,时区= B,我可以用10倍,但我认为这不是最好的方法。我现在正迈出这一步:
foreach ($array as $key => $value) {
foreach ($value as $key2 => $value2) {
if ($value2 == $_POST['from']) {
if ($key2 == 'timezone') {
echo $key;
}
}
}
}
答案 0 :(得分:2)
只要name
值是唯一的:
echo array_column($array, 'timezone', 'name')[$_POST['from']];
name
为键,timezone
为值$_POST['from']
当然你可以先查看它是否存在(假设你之前已经检查过isset($_POST['from'])
):
$tz = array_column($array, 'timezone', 'name');
if(isset($tz[$_POST['from']])) {
echo $tz[$_POST['from']];
}