在字符串中加入php的foreach循环,怎么写?

$string_process="'明治'=>array('dbms'=>'mysql','username'=>'sa','password'=>'sa','hostp... $string_process = " '明治'=> array( 'dbms'=>'mysql', 'username'=>'sa', 'password'=>'sa', 'hostpost'=>'3306', 'database'=>'meiji', 'projectname'=>'meiji', ),
'kona'=> array( 'dbms'=>'mysql', 'username'=>'sa', 'password'=>'sa', 'hostpost'=>'3306', 'database'=>'22', 'projectname'=>'kona', ),\n\n";
字符串中有多个数组,数组中的值是从数据库中读出来的,我想在字符串中循环读出,数组的值,怎么写?
展开
 我来答
perl2010
2014-01-10
知道答主
回答量:34
采纳率:0%
帮助的人:15.1万
展开全部
$string_process = " '明治'=> array(        'dbms'=>'mysql',        'username'=>'sa',        'password'=>'sa',        'hostpost'=>'3306',        'database'=>'meiji',        'projectname'=>'meiji',    ),
'kona'=> array(        'dbms'=>'mysql',        'username'=>'sa',        'password'=>'sa',        'hostpost'=>'3306',        'database'=>'22',        'projectname'=>'kona',    ),\n\n";
$new = array();
preg_match_all ("/(\'.+\)),/", $string_process, $matches);
// print_r($matches[1]);
//处理结果
// Array
// (
//     [0] => '明治'=> array(        'dbms'=>'mysql',        'username'=>'sa',        'password'=>'sa',        'hostpost'=>'3306',        'database'=>'meiji',        'projectname'=>'meiji',    )
//     [1] => 'kona'=> array(        'dbms'=>'mysql',        'username'=>'sa',        'password'=>'sa',        'hostpost'=>'3306',        'database'=>'22',        'projectname'=>'kona',    )
// )
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yu641150278
推荐于2016-04-28 · TA获得超过1069个赞
知道小有建树答主
回答量:637
采纳率:100%
帮助的人:298万
展开全部
$string_process = preg_replace(array("/, *\\n/","/\', *\)/"),array("","')"),$string_process);
eval("\$arr = array(".$string_process.");");
//print_r($arr);
$str = "";
foreach($arr as $k=>$v){
    $str.=$k.":";
    foreach($v as $d){
        $str.=$d.",";
    }
}
trim($str,",");
echo $str;

是这个意思么

追问
给个效果图!
追答
$string_process = preg_replace(array("/, *\\n/","/\', *\)/"),array("","')"),$string_process);
eval("\$arr = array(".$string_process.");");
print_r($arr);
$str = "";
foreach($arr as $k=>$v){
    $str.=$k.":";
    foreach($v as $d){
        $str.=$d.",";
    }
}
$str = trim($str,",");
echo $str;

你直接放环境里运行一下不就好了

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
萁實涐乜卟懂
2014-01-10 · 超过11用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:27.1万
展开全部
foreach ($string_process as $value) {
echo $value;//这里你可以对$value执行任何操作
}
上面的表达式实质是依次取出$string_process中的值,并赋给$value
追问
额!你好像弄反了,我是要在$string_process中foreach循环出数据库的值,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式