php关联数组、预匹配和循环

php关联数组、预匹配和循环,php,arrays,associative,Php,Arrays,Associative,我有一个关联数组,从中用正则表达式提取两个数字 <?php $link = array ( "model_one" => "Only 50.95 usd for 2 years or 700.30 usd.", "model_two" => "Only 70.95 usd for 2 years or 900.20 usd."); foreach ($link as $key=>$links) { $pattern = '/.\d+(

我有一个关联数组,从中用正则表达式提取两个数字

<?php           
 $link = array (
 "model_one" => "Only 50.95 usd for 2 years or 700.30 usd.",
 "model_two" => "Only 70.95 usd for 2 years or 900.20 usd.");
 foreach ($link as $key=>$links) {
    $pattern = '/.\d+(?:\.\d{2})?((?<=[0-9])(?= usd))/';
    preg_match_all($pattern,$links,$result);
    $final = array();
    foreach($result[0] as $k=>$v) {
    $final[]=$v;
    echo $final[0]; // print 50.95 50.95 70.95 70.95    
    }
 }
?>

您需要遍历包含匹配值的数组:

foreach ($link as $key => $links) {
    $pattern = '/\d+(?:\.\d{2})?((?<=[0-9])(?= usd))/';
    preg_match_all($pattern,$links,$result);

    foreach ($result[0] as $amt) {
        echo "$key $amt\n";
    }
}

非常感谢麦莉的回复。通过这种方式,我将模型与两个数字关联:模型1 50.95和700.30。如何选择一个单独的数字放入数据库:插入到。。。(col1,col2)值(50.95700.30)谢谢again@user3332537:那么您不需要循环。只需使用
内爆()
。演示:@Amal Murali好的,很好。如果我使用查询更新单个值,还有一个问题:更新model\uOne SET first\u price=50.95和SET second\u price=700.30我该怎么做it@user3332537:值存储在
$result
数组中。你只需要访问它。见演示:(如果您还有任何问题,请以a的形式提问)我感谢您的回答
foreach ($link as $key => $links) {
    $pattern = '/\d+(?:\.\d{2})?((?<=[0-9])(?= usd))/';
    preg_match_all($pattern,$links,$result);

    foreach ($result[0] as $amt) {
        echo "$key $amt\n";
    }
}
model_one 50.95
model_one 700.30
model_two 70.95
model_two 900.20