我在数据库中保存了这样的内容
PHP,HTML,CSS,SQL,JQUERY,....
根据当前观看帖子的保存方式,可以更多地显示或者可能最终为2或1。
现在我需要分别输出每个字符串,见下面的例子
echo $str1; Output = PHP,
echo $str2; Output = HTML,
echo $str3; Output = CSS,
echo $str4; Output = JQUERY,
我尝试过使用此功能,但我不明白是什么让我感到高兴我需要帮助
这是我的代码
<?php
$str = 'one,two,three,four';
print_r(explode(',',$str,0));
print_r(explode(',',$str,2));
print_r(explode(',',$str,-1));
?>
输出就是这个,不是我想要的
Array ( [0] => one,two,three,four )
Array ( [0] => one [1] => two,three,four )
Array ( [0] => one [1] => two [2] => three )
答案 0 :(得分:4)
也许试试这个:
$str = 'one,two,three,four';
$newstr = explode(',',$str);
$n = 'str'; //sufix
$c=1; //counter
foreach($newstr as $value){
$nn = $n.$c; //assign vars
$$nn = $value; //assign value for var
$c++;
}
var_dump($str1);
var_dump($str2);
var_dump($str3);
var_dump($str4);
响应:
string 'one' (length=3)
string 'two' (length=3)
string 'three' (length=5)
string 'four' (length=4)
答案 1 :(得分:1)
这是正确的爆炸创建一个数组,你需要循环元素。 (你也不需要max int。)
<?php
$str = 'one,two,three,four';
$arr = explode(',',$str);
foreach($arr as $elem){
echo $elem;
}
答案 2 :(得分:1)
使用数组!
<?php
$str = 'one,two,three,four';
$array= explode(',',$str);
//Print each array element
//('one' 'two' 'three' 'four' an so on...)
foreach($array as $element){
echo $element;
}
?>
答案 3 :(得分:0)
这有助于我思考
// Example
$str = 'one,two,three,four';
$pieces = explode(',', $str);
echo $pieces[0]; // one
echo $pieces[1]; // two
echo $pieces[2]; // three
echo $pieces[3]; // four
//Example 2
$str = 'one,two,three,four';
list($one, $two, $three, $four) = explode(',', $str);
echo $one; // one
echo $two; // two
echo $three; // three
echo $four; // four
更多信息Explode PHP.net