Вернуться




Преобразовать разделенных двоеточиями массив ключ: значение в массив с ключами



Имеется такой массив:

[

  "icon: fas fa-toolbox",

  "read-friendly: Mix Fixes"

]

 

Я хочу преобразовать его в это:

{

  "icon": "fas fa-toolbox",

  "read-friendly": "Mix Fixes"

}

 

Как лучше всего это сделать?

Пробовал сделать, получил ключи, но их значения неверны:

$settings = collect(\array_slice($lines, 0, $blank))->map(static function ($value) {

    $value = explode(':', $value);

    return ['key' => trim($value[0]), 'value' => trim($value[1])];

});

$settings = $settings->keyBy('key');

 

Ответ 1

Вы перемудрили. Вы можете упростить эту задачу, просто итерируя каждую строку и помещая ее в новый массив. 

$lines = [

    "icon: fas fa-toolbox",

    "read-friendly: Mix Fixes"

];

 

$settings = [];

 

foreach($lines as $value) {

    $value = explode(':', $value);

    $settings[trim($value[0])]  = trim($value[1]);

}

 

Ответ 2

Выкладываю свой вариант, так как он устраняет необходимость в отдельном массиве

$myArray = [

  "icon: fas fa-toolbox",

  "read-friendly: Mix Fixes"

];

 

// Итерация по массиву, где $i - индекс, а $slice – значение

foreach($myArray as $i => $slice){

    // Разбить строку разделителем ':'

    $exploded = explode(':', $slice);

    // Установите ключ в качестве первой части разобранной строки,

    // а значение - в качестве второй, и удалить лишние пробелы

    $myArray[$exploded[0]] = trim($exploded[1]);

    //Удалить исходный фрагмент из массива

    unset($myArray[$i]);

}

 

var_export($myArray);

 

Результат:

array (

  'icon' => 'fas fa-toolbox',

  'read-friendly' => 'Mix Fixes',

)



Если вам понравилась эта статья поделитесь ею с друзьями, тем самым вы помогаете нам развиваться и добавлять всё больше интересного и полезного контента!




Cхожие статьи





Какой хостинг выбрать для сайта

Какой хостинг выбрать для сайта

Для беспроблемного функционирования сайта на просторах интернета необходимо ...

15 Февраля 2021    Web

Как и на чём лучше писать сайты?

Как и на чём лучше писать сайты?

Каждый начинающий сайтостроитель мечтает создать свой уникальный сайт на ко ...

21 Февраля 2021    Web

Ищем качественный и недорогой хостинг? Тогда вам сюда

Ищем качественный и недорогой хостинг? Тогда вам сюда

Рано или поздно всем вебмастерам приходится искать хостинг для своего проек ...

21 Февраля 2021    Web