将数组元素(例如 4-10)更改为管道分隔列表(例如 4|5|6|7|8|9|10)
Change array element (e.g. 4-10) into pipe separated list (e.g. 4|5|6|7|8|9|10)
过去两天我已经尝试在 google 和所有论坛中搜索,但似乎找不到任何远程帮助我解决这个问题的答案。
我有一个 stock feed .csv
文件,我需要更改鞋码的值才能与 Woocommerce 一起使用。每行的鞋码都不同。
csv 中的大小如下所示:4-10, 5-12, 3-9
等。每行一组数字 4-10
。我已将文件输入到我的 php 脚本中的数组中。
所以对于每只鞋,我都有一个这样的数组:
Array
(
[0] => 4578
[1] => kors
[2] => red
[3] => wedge
[4] => 4-10
)
我需要取最后一个值,例如4-10
并将它们更改为如下所示:4|5|6|7|8|9|10
.
所以基本上我需要取元素中的第一个数字并将其递增 1 并用竖线字符“|”分隔,直到它达到最后一个数字的值。然后我需要它用 4|5|6|7|8|9|10
替换元素中的 4-10
。
这应该适合你:
(这里我先获取数组的最后一个元素然后explode()
it with -
as delimiter. After this I simply create an array with range()
where I use the $start
and $end
variable. At the end I simply save the element back by implode()
'ing它。)
<?php
$arr = [4578, "kors", "red", "wedge", "4-10"];
list($start, $end) = explode("-", $arr[count($arr)-1]);
$arr[count($arr)-1] = implode("|", range($start, $end));
print_r($arr);
?>
输出:
Array ( [0] => 4578 [1] => kors [2] => red [3] => wedge [4] => 4|5|6|7|8|9|10 )
过去两天我已经尝试在 google 和所有论坛中搜索,但似乎找不到任何远程帮助我解决这个问题的答案。
我有一个 stock feed .csv
文件,我需要更改鞋码的值才能与 Woocommerce 一起使用。每行的鞋码都不同。
csv 中的大小如下所示:4-10, 5-12, 3-9
等。每行一组数字 4-10
。我已将文件输入到我的 php 脚本中的数组中。
所以对于每只鞋,我都有一个这样的数组:
Array
(
[0] => 4578
[1] => kors
[2] => red
[3] => wedge
[4] => 4-10
)
我需要取最后一个值,例如4-10
并将它们更改为如下所示:4|5|6|7|8|9|10
.
所以基本上我需要取元素中的第一个数字并将其递增 1 并用竖线字符“|”分隔,直到它达到最后一个数字的值。然后我需要它用 4|5|6|7|8|9|10
替换元素中的 4-10
。
这应该适合你:
(这里我先获取数组的最后一个元素然后explode()
it with -
as delimiter. After this I simply create an array with range()
where I use the $start
and $end
variable. At the end I simply save the element back by implode()
'ing它。)
<?php
$arr = [4578, "kors", "red", "wedge", "4-10"];
list($start, $end) = explode("-", $arr[count($arr)-1]);
$arr[count($arr)-1] = implode("|", range($start, $end));
print_r($arr);
?>
输出:
Array ( [0] => 4578 [1] => kors [2] => red [3] => wedge [4] => 4|5|6|7|8|9|10 )