从1 php变量创建数组为什么输出不同的数组?

时间:2014-08-11 13:51:07

标签: php arrays

从1个php变量创建数组为什么输出不同的数组?

在这段代码中我使用php变量创建数组

<?PHP
$xxx = "'Free', 'Include', 'Offer', 'Provide'";
$xxx_array = array($xxx);
echo '<pre>'; print_r($xxx_array); echo '</pre>';
?>

和echo是

Array
(
    [0] => 'Free', 'Include', 'Offer', 'Provide'
)

如何像这样回应

Array
(
    [0] => Free
    [1] => Include
    [2] => Offer
    [3] => Provide
)

3 个答案:

答案 0 :(得分:1)

<?php
$xxx = "'Free', 'Include', 'Offer', 'Provide'";
// Split by ","
$separatedValues = explode(',', $xxx);
// Remove the single quotation marks
for($i = 0; $i < count($separatedValues); ++$i) {
  $separatedValues[$i] = str_replace("'", '', $separatedValues[$i]);
}
var_dump($separatedValues);
?>

所有关于explode()http://de.php.net/explode)函数。

答案 1 :(得分:0)

阅读explode()功能。以下代码完成了您的要求。

<?PHP
    $xxx = "'Free', 'Include', 'Offer', 'Provide'";
    $xxx_array = array(explode(",", $xxx);
    echo '<pre>'; 
    print_r($xxx_array); 
    echo '</pre>';
?>

答案 2 :(得分:0)

如果你想模仿实际创建数组(并且没有在数组中引用的值),请使用:

$xxx_array = array_map( function( $el) { return trim( $el, "' "); }, explode(',', $xxx));

在将字符串转换为数组后,这会从元素的开头和结尾修剪'和空格。