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就是你要的新數組了