Как преобразовать строку в массив
У меня есть массив что-то вроде этого
$arr1 = array(
'0' => '674534856|213123213|232313123',
'1' => '349578449|782374879|232313123'
);
Я перебираю массив arr1,
for ($x=0; $x < $count; $x++) {
$check = explode("|", $arr1[$x]);
array_pop($check);
$count_check = count($check);
for ($z=0; $z < $count_check; $z++) {
array_push($result, $check[$z]);
}
}
Это не работает, как ожидалось. Любая помощь приветствуется. Благодарю.
РЕДАКТИРОВАТЬ $result
массив результатов
2 ответа
Решение
Просто implode()
все во входном массиве с тем же разделителем, чтобы сгладить его в одну строку, а затем explode()
этим разделителем:
$result = explode('|', implode('|', $arr1));
Пытаться
$result = explode('|', join('|', $arr1));
// outputs
array('674534856', '213123213', '232313123', '349578449', '782374879', '232313123')
Или же
$result = array_map(function($temp) { return explode('|', $temp); }, $arr1);
// outputs
array(
[0] => array('674534856', '213123213', '232313123'),
[1] => array('349578449', '782374879', '232313123')
)