php替换数组
❶ php查询数组并替换字符
试编写代码如下:
<?php
function cb($matches)
{
return $matches[1]. ' '. $matches[2];
}
$a="abc12de feabaa 5aggdaa23fo i23a3 2g3r4-3a3432rre 3tt434-34t34fsf";
$arr=array('a','b','cc','aa','gg','rr');
$astr = implode('|',$arr);
$pa = '/('.$astr.')([\d]+[\S]+)/si';
$str = preg_replace_callback($pa,'cb',$a);
echo $str . '<br>';
?>
❷ php str_replace如果传入的是数组的话,怎么解释
传入数组用于多重替换及映射替换,str_replace详细用法如下:
str_replace — 子字符串替换
mixedstr_replace(mixed$search,mixed$replace,mixed$subject[,int&$count])
该函数返回一个字符串或者数组。该字符串或数组是将 subject 中全部的 search 都被 replace 替换之后的结果。
参数说明:
如果 search 和 replace 为数组,那么 str_replace() 将对 subject 做二者的映射替换。
如果 replace 的值的个数少于 search 的个数,多余的替换将使用空字符串来进行。
如果 search 是一个数组而 replace 是一个字符串,那么 search 中每个元素的替换将始终使用这个字符串。
该转换不会改变大小写。
如果 search 和 replace 都是数组,它们的值将会被依次处理。
search:查找的目标值,也就是 needle。一个数组可以指定多个目标。
replace:search 的替换值。一个数组可以被用来指定多重替换。
subject:执行替换的数组或者字符串。也就是 haystack。
如果 subject 是一个数组,替换操作将遍历整个 subject,返回值也将是一个数组。
count:如果被指定,它的值将被设置为替换发生的次数。
返回值:
该函数返回替换后的数组或者字符串。
❸ php批量替换数组元素
$arr=array("a","2","c","d","1","b","a","c","3","4","b","d","a","c",);
foreach($arras$k=>$v){
if($v=='a'){
$arr[$k]='1';
}elseif($v=='b'){
$arr[$k]='2';
}elseif($v=='c'){
$arr[$k]='3';
}elseif($v=='d'){
$arr[$k]='4';
}
}
print_r($arr);
纯手打,应该不会错
❹ php怎样数据库行循环生成二维数组并替换其中的值再生成新的二维数组
include('includes/init.php');
$sql="SELECT*,DATE_FORMAT(add_time,'%Y-%m-%d')asadd_dateFROM`donku_articles`";
$query=$mysql->query($sql);
$result=[];
while($row=$mysql->fetch_assoc($query)){//这里应该是关联的形式,从你的fetch_row我猜是应该是fetch_assoc
$result[]=$row;
}
//下面是赋值给模板
$smarty->assign('art_recommend_row',$result);
❺ PHP替换数组中的字符遇到的问题
我正则表达式也没有很好,希望是你要的效果哈.
<?php
$a[0]="<li>bug 4.9.5</li>bug";
$a[1]="bug";
$a[2]="big";
$a[3]="bug";
$a[4]="<li>bug 5.0.1 </li>bug";
foreach($a as $k=>$v)
{
$a[$k] = htmlspecialchars(preg_replace("/<li>([\s\S]*)bug([\s\S]*)<\/li>/","<li>$1PHP$2</li>",$v));
}
echo "<pre>";
var_mp($a);
?>
❻ php 多维数组元素值替换【高手进来】
多重循环,然后直接修改
举个例子,将数组中所有的用户头像avator 从google改成。都修改掉:
$arr=[
[
['name'=>'a','age'=>22,'avator'=>'http://www.google.com'],
['name'=>'b','age'=>21,'avator'=>'http://www.google.com'],
['name'=>'c','age'=>20,'avator'=>'http://www.google.com']
],
[
['name'=>'d','age'=>22,'avator'=>'http://www.google.com'],
['name'=>'e','age'=>22,'avator'=>'http://www.google.com'],
['name'=>'f','age'=>22,'avator'=>'http://www.google.com']
]
];
for($i=0;$i<count($arr);$i++){
for($j=0;$j<count($arr[$i]);$j++){
$arr[$i][$j]['avator']='http://www..com/'.$i.'-'.$j;
}
}
echo"<pre>";
print_r($arr);
输出
❼ php数组内的值替换问题
你好,很高兴为您解答.
您的问题使用以下方法可以解决
$keys=array_keys($arr1); //array_keys函数可以提取一个数组里的所有的key
for($i=0,$j=count($keys);$i<$j;$i++){
$newarr[$keys[$i]]=$arr[$i];
}
最后得到的$newarr就是你要的新数组了