php 如何用逗号把字符串分割为数组并把数组分别写入数据库?

php 如何用逗号把字符串分割为数组并把数组分别写入数据库?,第1张

分割字符串可以用explode函数

$str = "1,2,3,4,5,6";
$arr = explode(",",$str);
foreach($arr as $a){
    #插入数据库就可以
}

使用explode函数 将字符串拆分为数组
$my_arr = explode('|',$arr);list($name, $state, $level) = $my_arr; //将数组的值赋值给变量
接下来怎么插入数据库就看你自己了

修改了?那好吧,我更新。
假设你的这个字符串名为$str
$str = 'john:123mike:33lily:51';
$array1 = $array2 = array();
foreach(explode(':', $str) as $v){
if(intval($v) != 0) $array2[] = intval($v);
else $array1[] = $v;
}
那么$array1就是名字数组,$array2是数字数组。你这样修改了问题以后就方便多了。不用正则表达式了。

这个函数是substr例子:echo substr('abcdef123', 1, 3); // 输出bcd
如果你是将字符串分割成单个字符的话,就用split('abcde'),这个返回一个数组
如果你的字符串有固定的分割符,你可以用explode('|','a|b|cd|e')这个返回也是一个数组

很简单,代码如下:

<php
$str = "Hello Friend";
$arr1 = str_split($str);
$arr2 = str_split($str, 3);
print_r($arr1);
print_r($arr2);
/ Output may look like:
Array
(
    [0] => H
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    [5] =>
    [6] => F
    [7] => r
    [8] => i
    [9] => e
    [10] => n
    [11] => d
)
Array
(
    [0] => Hel
    [1] => lo 
    [2] => Fri
    [3] => end
)
/
>

正则版本
<php
$p='我想对level 的值进行切割然后弄成 数组
值为 [1],1,2,3,4,[5],6,7,8,9,[10],11,12 要切割为 如果';
preg_match_all( '/\[(<a>\d+)\]|(<b>\d+)/m', $p, $m );
$a=array_values(array_filter($m['a'],'strlen'));
$b=array_values(array_filter($m['b'],'strlen'));
print_r($a);
echo '<hr>';
print_r($b);
===========
输出
Array
(
[0] => 1
[1] => 5
[2] => 10
)
----------------------------------------------
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 6
[5] => 7
[6] => 8
[7] => 9
[8] => 11
[9] => 12
)

str_split()方法 以下是手册的说明
$str = "Hello Friend";
$arr1 = str_split($str);
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] =>
[6] => F
[7] => r
[8] => i
[9] => e
[10] => n
[11] => d
)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13324810.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-15
下一篇 2023-07-15

发表评论

登录后才能评论

评论列表(0条)

保存