如何使用循环从字符串中创建数组?

时间:2011-09-14 01:40:29

标签: php arrays loops

我有以下数值:

$attached_products = "1,4,3";

我想创建一个看起来像这样的数组:

$selected = array(1, 4, 3);

使用我的$attached_products循环。

3 个答案:

答案 0 :(得分:7)

这可以通过循环完成,但有一种更简单的方法。

您可以使用explode函数 [php docs] 在逗号周围分解字符串。这将为您提供一组数字字符串。您可以使用intval [php docs] 应用array_map [php docs] ,将每个字符串转换为整数。

$attached_products = "1,4,3";
$selected_strings = explode(',', $attached_products); # == array('1', '4', '3')
$selected = array_map('intval', $selected_strings);   # == array(1, 4, 3)

答案 1 :(得分:4)

您使用explode()

$selected = explode(", ", $attached_products);

答案 2 :(得分:2)

如果逗号后面可能有空格,可以使用preg_split()

$selected = preg_split(/,\s*/, $attached_products);

或者,您可以使用explode()trim()array_map()

$selected = array_map('trim', explode(',', $attached_products));

如果它们必须是整数,请将它们映射到intval()