在关联数组中搜索多个键的功能?
Function to search multiple keys in an associative Array?
我有一个这种格式的数组:
Array ( [0] => Array ( [NUMBER] => 1 [AMOUNT] => 5 [RATE] => 1 ) [1] => Array ( [NUMBER] => 2 [AMOUNT] => 10 [RATE] => 1 ) [2] => Array ( [NUMBER] => 3 [AMOUNT] => 15 [RATE] => 1 ) )
我可以遍历数组并找到所需的结果,但我更愿意寻找一些 builtin
函数或 Laravel
.
提供的函数
如果给定两个输入:NUMBER = 3 和 AMOUNT = 5,是否有高效和小的方法来搜索这个数组,然后它returns true/false 或那个特定值?
echo count(
array_filter(
$your_array,
function ($e) {
return $e['NUMBER'] == 3 && $e['AMOUNT'] == 5;
}
)
);
应该可以解决问题
测试:
$fooArray = array(
array(
'NUMBER' => 1,
'AMOUNT' => 5
),
array(
'NUMBER' => 2,
'AMOUNT' => 10,
),
array(
'NUMBER' => 3,
'AMOUNT' => 15
)
);
$barArray = array(
array(
'NUMBER' => 1,
'AMOUNT' => 5
),
array(
'NUMBER' => 2,
'AMOUNT' => 10,
),
array(
'NUMBER' => 3,
'AMOUNT' => 5
)
);
echo count(
array_filter(
$fooArray,
function ($e) {
return $e['NUMBER'] == 3 && $e['AMOUNT'] == 5;
}
)
);
//will echo 0
echo count(
array_filter(
$barArray,
function ($e) {
return $e['NUMBER'] == 3 && $e['AMOUNT'] == 5;
}
)
);
//will echo 1
如果您想要 true/false 逻辑,只需添加 (true == )
或 (false == )
测试而不是回显它
我有一个这种格式的数组:
Array ( [0] => Array ( [NUMBER] => 1 [AMOUNT] => 5 [RATE] => 1 ) [1] => Array ( [NUMBER] => 2 [AMOUNT] => 10 [RATE] => 1 ) [2] => Array ( [NUMBER] => 3 [AMOUNT] => 15 [RATE] => 1 ) )
我可以遍历数组并找到所需的结果,但我更愿意寻找一些 builtin
函数或 Laravel
.
如果给定两个输入:NUMBER = 3 和 AMOUNT = 5,是否有高效和小的方法来搜索这个数组,然后它returns true/false 或那个特定值?
echo count(
array_filter(
$your_array,
function ($e) {
return $e['NUMBER'] == 3 && $e['AMOUNT'] == 5;
}
)
);
应该可以解决问题
测试:
$fooArray = array(
array(
'NUMBER' => 1,
'AMOUNT' => 5
),
array(
'NUMBER' => 2,
'AMOUNT' => 10,
),
array(
'NUMBER' => 3,
'AMOUNT' => 15
)
);
$barArray = array(
array(
'NUMBER' => 1,
'AMOUNT' => 5
),
array(
'NUMBER' => 2,
'AMOUNT' => 10,
),
array(
'NUMBER' => 3,
'AMOUNT' => 5
)
);
echo count(
array_filter(
$fooArray,
function ($e) {
return $e['NUMBER'] == 3 && $e['AMOUNT'] == 5;
}
)
);
//will echo 0
echo count(
array_filter(
$barArray,
function ($e) {
return $e['NUMBER'] == 3 && $e['AMOUNT'] == 5;
}
)
);
//will echo 1
如果您想要 true/false 逻辑,只需添加 (true == )
或 (false == )
测试而不是回显它