从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
)
答案 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));
在将字符串转换为数组后,这会从元素的开头和结尾修剪'
和空格。