У меня есть массив объектов, которые определены как {'preference name',value}
. НапримерПреобразование массива объектов с ключами в массив с ключом
$preferences[] = {'abc',123};
$preferences[] = {'def',456};
Я хотел бы получить доступ к ним, как это:
$pref = $preferences['abc'];
Конечно, я знаю, что я мог бы назначить их в качестве шпоночным массива, чтобы начать с, но я получаю значение через JSON и json_decode
всегда создает массив объектов. Некоторые примеры JSON, что приводит нас к ситуации выше будут:
{'abc':123,'def':456}
Очевидно, что это тривиально тайными их с помощью цикла, но я задавался вопрос, есть ли лучше один лайнер, который мог бы сделать эту работу?
Decode как ассоциативный массив? http://php.net/manual/en/function.json-decode.php – AbraCadaver
Я предполагаю некоторую комбинацию, такую как [array_walk] (http://php.net/manual/en/function.array-walk. php) и [get_object_vars] (http://php.net/manual/en/function.get-object-vars.php) сделают трюк. –
@AbraCadaver - это не совсем понятно, не так ли? Он просто расшифровал бы под-объекты как ассоциативные массивы, оставив ключи верхнего уровня в виде последовательного числового индекса? –