すでに使用しているため、foreach
他の代替手段が必要な場合は、このソリューションを検討できます
解決策 1
を使用して検索をフィルタリングすることができますarray_filter
$search = "PT+Sans:400" ;
$array = array_filter($array,function($v)use($search){ return $v['font'] == $search;});
var_dump($array); // returns all found array
出力
array
1 =>
array
'font' => string 'PT+Sans:400' (length=11)
'label' => string 'PT Sans' (length=7)
ラベルだけ必要な場合
$find = array_shift($array); // take only the first
print($find['label']); // output the label
出力
PT Sans
解決策 2
配列を返すことに興味がなく、ラベルだけが必要な場合は、検討する必要がありますarray_reduce
$search = "PT+Sans:400" ;
$results = array_reduce($array,function($a,$b)use($search){ return $b['font'] == $search ? $b['label'] : null ; });
print($results);
出力
PT Sans