g
. Хотите найти всё - используйте preg_match_all. $key = 'property';
$val = 2;
$toReverse = array_filter($array, function($n) use($key, $val) {
return $n[$key] === $val;
});
$newArray = array_map(function($n) use(&$toReverse, $key, $val) {
return $n[$key] === $val ? array_pop($toReverse) : $n;
}, $array);
$color = preg_match('~^цвет (.+)~ui', $str, $match) ? $match[1] : null;
$chunks = array_chunk($arr, 2);
$newArr = array_combine(array_column($chunks, 0), array_column($chunks, 1));
for ($i = 0; $i < count($arr); $i += 2) {
$newArr[$arr[$i]] = $arr[$i + 1];
}
array_filter($arr1, fn($n) => in_array($n, $arr2), ARRAY_FILTER_USE_KEY)
array_map(fn($n) => $arr1[$n], $arr2)
function createPlainArrayFromNested($arr, $path = []) {
$result = [];
foreach ($arr as $key => $val) {
$path[] = count($path) ? "[$key]" : $key;
$result += (is_array($val) && !empty($val))
? createPlainArrayFromNested($val, $path)
: [ implode('', $path) => $val ];
array_pop($path);
}
return $result;
}
Если strict не установлен, то при поиске будет использовано нестрогое сравнение.
В случае, если вы сравниваете число со строкой или две строки, содержащие числа, каждая строка будет преобразована в число, и сравниваться они будут как числа.
Значение определяется по начальной части строки. Если строка начинается с верного числового значения, будет использовано это значение. Иначе значением будет 0 (ноль).
$dataStr = file_get_contents('https://corona-virus-stats.herokuapp.com/api/v1/cases/general-stats');
$dataObj = json_decode($dataStr);
$props = [ 'total_cases', 'recovery_cases', 'death_cases' ];
echo implode('<br>', array_map(function($n) use($dataObj) {
return $n.': '.$dataObj->data->$n;
}, $props));