I have two arrays:
$array1 = [29, 'a', 'x', 'c', 11];
$array2 = ['a' => 20, 'x' => 21, 'c' => 23];
I want to get an array that looks like:
$array3 = [29, 20, 21, 23, 11];
I know how to do it with a foreach loop, but I was wondering if there was a way to do it as a one liner, or maybe with some sort of anonymous function.
array_walk($array1, function(&$value) use ($array2) { $value = isset($array2[$value]) ? $array2[$value] : $value; } );orarray_walk($array1, function(&$value) use ($array2) { $value = $array2[$value] ?? $value; } );for PHP>7.0array_walk($array1, function(&$value) use ($array2) { $value = $array2[$value] ?? $value; } )