+ -
当前位置:首页 → 问答吧 → php解析字符串的问题

php解析字符串的问题

时间:2010-01-08

来源:互联网

现有如下的字符串:tom=>tom.php|sina=>sina.php|,想把他解析成一个数组,数组形式如下:$arr = array("tom"=>"tom.php","sina"=>"sina.php");这个要怎么实现呐,个人只能把字符串解析,但是却放不到数组中去,请问这部如何实现呐,哪位给说一下啊,谢谢!

作者: ycw217   发布时间: 2010-01-08

<?php
$str="tom=>tom.php|sina=>sina.php|";
$arr=split("[=>|]",$str);
echo "<pre>";
print_r($arr);//将原来的字符串组成一个数组
echo "</pre>";
echo "<br/><br/><br/><br/>";
$newarr=array();
for($i=0;$i<=count($arr);$i=$i+3)
{
    if($arr[$i]!="") $newarr["$arr[$i]"]=$arr[$i+2];//根据规律生成新的数组$newarr就是最终要的结果
}
echo "<pre>";
print_r($newarr);
echo "</pre>";
?>

作者: tafengnanhai   发布时间: 2010-01-08

看看是不是要的这种效果
图片:str.jpg
'700')this.width='700';if(this.offsetHeight>'700')this.height='700';" title="Click Here To EnLarge">

作者: yuejide   发布时间: 2010-01-08

<?php
  $str = "tom=>tom.php|sina=>sina.php";  //定义字符串
  $arr = explode("|",$str); //用|来分隔字符串,字符串被分隔成数组保存在$arr中,$arr=array([0]=>"tom=>php",[1]=>"sina=>sina.php")
  foreach($arr as $value)   //遍历$arr数组,把值保存给$value
        {
           $newarr = explode("=>",$value);  //再用=>来分隔$value里面的值,
          
           $strarr[$newarr[0]] =$newarr[1];
        }
  print_r($strarr);
?>

这个也是我自己写的,供你参考吧!大家都是学习php的,兄弟加油!有空一起交流qq:78982417

作者: glsh127   发布时间: 2010-01-08

兄弟们速度很快啊,我还在写着呢,大家就上来了,呵呵,看到这样真的很开心,大家能相互帮忙,真的很好!

作者: glsh127   发布时间: 2010-01-08

$arr1 = array();
$str = "tom=>tom.php|sina=>sina.php";
$a = explode("|",$str);
foreach($a as $k=>$val)
{
    $b = explode("=>",$val);
    $arr1[$b[0]] = $b[1];
}
print_r($arr1);

作者: yuejide   发布时间: 2010-01-08

呵呵,谢谢楼上诸兄弟的热心解答!问题已解决!

作者: ycw217   发布时间: 2010-01-08

YEAH!

作者: xujing3344   发布时间: 2010-01-08

<?php
$str="tom=>tom.php|sina=>sina.php|baidu=>baidu.php";
$arrstr=explode("|",$str);
foreach($arrstr as $value)
{

     $arr[]=explode("=>",$value);
}

print_r($arr);

?>

Array
(
    [0] => Array
        (
            [0] => tom
            [1] => tom.php
        )

    [1] => Array
        (
            [0] => sina
            [1] => sina.php
        )

    [2] => Array
        (
            [0] => baidu
            [1] => baidu.php
        )

)

作者: 1383061ma   发布时间: 2010-01-08

给你个既简单又高效的.
复制代码
  1. <?php
  2. $str   = 'tom=>tom.php|sina=>sina.php';
  3. $query = strtr($str, array('=>' => '=', '|' => '&'));
  4. parse_str($query, $arr);
  5. print_r($arr);

作者: xiaokai   发布时间: 2010-01-08

8错啊。。

作者: cain   发布时间: 2010-01-09

相关阅读 更多