php制作数组的最简单方法
我从mysql中得到了这种格式的字符串 1.姓名2.姓名3.姓名8.姓名 我有这个 $arr=拆分(“,”,$str)$计数=计数($arr) 这将生成2个数组,但我想逐项编写它php制作数组的最简单方法,php,arrays,Php,Arrays,我从mysql中得到了这种格式的字符串 1.姓名2.姓名3.姓名8.姓名 我有这个 $arr=拆分(“,”,$str)$计数=计数($arr) 这将生成2个数组,但我想逐项编写它 for ($i=0;$i<$count;$i++){ echo $arr[$i]; // when $i=0 here must be 1 name 2 name and when $i=1 3 name 8 name } 对于($i=0;$i您不需要任何循环 $string = "1.name.2.name,
for ($i=0;$i<$count;$i++){
echo $arr[$i];
// when $i=0 here must be 1 name 2 name and when $i=1 3 name 8 name
}
对于($i=0;$i您不需要任何循环
$string = "1.name.2.name,3.name.8.name";
$array = explode(",", $string);
var_dump($array);
输出
array (size=2)
0 => string '1.name.2.name' (length=13)
1 => string '3.name.8.name' (length=13)
array (size=2)
0 =>
array (size=4)
0 => string '1' (length=1)
1 => string 'name' (length=4)
2 => string '2' (length=1)
3 => string 'name' (length=4)
1 =>
array (size=4)
0 => string '3' (length=1)
1 => string 'name' (length=4)
2 => string '8' (length=1)
3 => string 'name' (length=4)
如果你想进一步打破它
$array = array_map(function($v){return explode(".", $v); },$array);
var_dump($array);
输出
array (size=2)
0 => string '1.name.2.name' (length=13)
1 => string '3.name.8.name' (length=13)
array (size=2)
0 =>
array (size=4)
0 => string '1' (length=1)
1 => string 'name' (length=4)
2 => string '2' (length=1)
3 => string 'name' (length=4)
1 =>
array (size=4)
0 => string '3' (length=1)
1 => string 'name' (length=4)
2 => string '8' (length=1)
3 => string 'name' (length=4)
用于按,
拆分,并删除
$string = "1.name.2.name,3.name.8.name";
$arr = explode(",", $string);
for ($i=0;$i<count($arr);$i++){
echo str_replace("."," ",$arr[$i]);}
$string=“1.name.2.name,3.name.8.name”;
$arr=分解(“,”,$string);
对于使用正则表达式的($i=0;$i备选方案:
$string = "1.name.2.name,3.name.8.name";
preg_match_all('|(\d+)\.([^.,]+)[,.]?|', $string, $matches);
$matches = array_combine($matches[1], $matches[2]);
print_r($matches);
输出:
Array
(
[1] => name
[2] => name
[3] => name
[8] => name
)
+1过了很长时间。我真的没有收到OP问题,但我需要用dott-tooyes分解这2个数组,这也是个好主意,但对于我的情况,我必须使用2x-explode,不仅是1,还要感谢:)和explode()
和stru-replace()
,即使您的$string
增加了1.name.2.name,3.name.8.name,10.name.11.name,12.name.13.name,16.name.17.name
或每个部分的
数量-1.name.2.name.3.name.4.name,7.name.8.name.9.name.11.name