假设我有一个函数,它在二维数组中查找值:
function findValueBi($array, $field, $value, $returnfield)
{
foreach($array as $key => $product)
{
if ( $product[$field] === $value )
return $product[$returnfield];
}
return false;
}
二维数组看起来是这样的:
Array
(
[0] => Array
(
[number] => 2
[type] => unimodal
)
[1] => Array
(
[number] => 6
[type] => unimodal
)
[2] => Array
(
[number] => 8
[type] => multimodal
)
[3] => Array
(
[number] => 27
[type] => multimodal
)
[4] => Array
(
[number] => 29
[type] => multimodal
)
)
该函数的作用是在"number"键中查找给定的值。如果找到了它,我会检索它对应的"type"键值。例如,如果我正在寻找"数字"29,那么我将获得"类型"值"multimodal"(数组样本的最后一项)。否则,如果找不到值,函数将返回false。
因此,我检索该值的方式如下:
if(findValueBi($numbers_patterns,'number',$number,'type')!==false){
$resultado=findValueBi($numbers_patterns,'number',$number,'type');
return $resultado;
}
else{ ... }
有更好和/或更快的方法吗?是否可以直接在if语句中检索信息?正如你所看到的,我调用了两次函数,那么如何用if语句调用一次呢???
您可以选择第一次使用它,然后在if:中使用它
$resultado = findValueBi($numbers_patterns,'number',$number,'type'); // call it once
if($resultado !== false){
// use $resultado here
}