





Вы можете использовать array_column для этого
$arrayOut = array_column($arrayIn, 0, 1);
Второй аргумент указывает, какой столбец выбрать, а третий указывает, какой столбец использовать в качестве ключей.
Имейте в виду, что если у вас есть повторяющиеся значения в столбце 1, они будут перезаписаны в результате, потому что ключи массива должны быть уникальными по определению, но это предостережение применимо к любому решению этой проблемы.
Спасибо, @ishegg. Должен любить array_column.
Это то, что мне было нужно. Большое спасибо!
Вы можете просто просмотреть исходный массив и построить новый со вторым значением в качестве ключа и первым в качестве значения:
$arrayOut = [];
foreach ($arrayIn as $arr) {
$arrayOut[$arr[1]] = $arr[0];
}
var_dump($arrayOut);
Результат
array (size=2)
12345 => string '3' (length=1)
123 => string '2' (length=1)
Это так лаконично. +1