Php 每4个实例分解一个字符串并创建一个新数组
我有一根这样的绳子Php 每4个实例分解一个字符串并创建一个新数组,php,arrays,explode,Php,Arrays,Explode,我有一根这样的绳子 $string = "title1|1.99|www.website.com|www.website.com/img1.jpg|title2|5.99|www.website2.com|www.website2.com/img2.jpg|title3|1.99|www.website3.com|www.website3.com/img3.jpg|"; 我希望将字符串分解为一个数组,但每4个管道实例创建一个新数组。也将是很好的名称以及下面的钥匙 例如: 等等 我如何才能做到这
$string = "title1|1.99|www.website.com|www.website.com/img1.jpg|title2|5.99|www.website2.com|www.website2.com/img2.jpg|title3|1.99|www.website3.com|www.website3.com/img3.jpg|";
我希望将字符串分解为一个数组,但每4个管道实例创建一个新数组。也将是很好的名称以及下面的钥匙
例如:
等等
我如何才能做到这一点?您正在寻找数组块:
您正在查找数组\u块:
以下是一种功能性方法:
Array
(
[0] => Array
(
[title] => title1
[price] => 1.99
[url] => www.website.com
[gallery] => www.website.com/img1.jpg
)
[1] => Array
(
[title] => title2
[price] => 5.99
[url] => www.website2.com
[gallery] => www.website2.com/img2.jpg
)
[2] => Array
(
[title] => title3
[price] => 1.99
[url] => www.website3.com
[gallery] => www.website3.com/img3.jpg
)
)
输出:
注意:我从字符串中删除了尾随的|。您需要这样做,否则explode将返回一个额外的空白字符串。这里有一个函数方法:
Array
(
[0] => Array
(
[title] => title1
[price] => 1.99
[url] => www.website.com
[gallery] => www.website.com/img1.jpg
)
[1] => Array
(
[title] => title2
[price] => 5.99
[url] => www.website2.com
[gallery] => www.website2.com/img2.jpg
)
[2] => Array
(
[title] => title3
[price] => 1.99
[url] => www.website3.com
[gallery] => www.website3.com/img3.jpg
)
)
输出:
注意:我从字符串中删除了尾随的|。您需要这样做,否则explode将返回一个额外的空白字符串
$string = "title1|1.99|www.website.com|www.website.com/img1.jpg|title2|5.99|www.website2.com|www.website2.com/img2.jpg|title3|1.99|www.website3.com|www.website3.com/img3.jpg";
$array = array_map(function($array) {
return array(
'title' => $array[0],
'price' => $array[1],
'url' => $array[2],
'gallery' => $array[3]
);
}, array_chunk(explode('|', $string), 4));
print_r($array);
Array
(
[0] => Array
(
[title] => title1
[price] => 1.99
[url] => www.website.com
[gallery] => www.website.com/img1.jpg
)
[1] => Array
(
[title] => title2
[price] => 5.99
[url] => www.website2.com
[gallery] => www.website2.com/img2.jpg
)
[2] => Array
(
[title] => title3
[price] => 1.99
[url] => www.website3.com
[gallery] => www.website3.com/img3.jpg
)
)