本文目錄一覽:
- 1、php 多維數組元素值替換【高手進來】
- 2、如果替換PHP數組中的方括號[]
- 3、php批量替換數組元素
- 4、php怎樣數據庫行循環生成二維數組並替換其中的值再生成新的二維數組
- 5、php數組內的值替換問題
php 多維數組元素值替換【高手進來】
多重循環,然後直接修改
舉個例子,將數組中所有的用戶頭像avator 從google改成baidu。都修改掉:
$arr = [
[
[‘name’=’a’,’age’=22,’avator’=”],
[‘name’=’b’,’age’=21,’avator’=”],
[‘name’=’c’,’age’=20,’avator’=”]
],
[
[‘name’=’d’,’age’=22,’avator’=”],
[‘name’=’e’,’age’=22,’avator’=”],
[‘name’=’f’,’age’=22,’avator’=”]
]
];
for($i=0;$icount($arr);$i++){
for($j=0;$jcount($arr[$i]);$j++){
$arr[$i][$j][‘avator’] = ”.$i.’-‘.$j;
}
}
echo “pre”;
print_r($arr);
輸出
如果替換PHP數組中的方括號[]
$ar = array(‘[0]’,'[1]’,'[2]’,'[3]’,'[4]’,'[5]’,'[6]’,'[7]’,'[8]’);
foreach ($ar as $key=$val){
$new_ar[]=preg_replace(‘/\[||\]/i’,”,$val);
}
print_r($new_ar);
php批量替換數組元素
$arr = array(“a”,”2″,”c”,”d”,”1″,”b”,”a”,”c”,”3″,”4″,”b”,”d”,”a”,”c”,);
foreach($arr as $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怎樣數據庫行循環生成二維數組並替換其中的值再生成新的二維數組
select *,DATE_FORMAT(add_time,’%Y-%m-%d’) as add_date from donku_articles
把sql語句改成上面這種,另外最好不要用fetch_row這種索引方式取值,可以用fetch_assoc這種關聯的方式,
另外你的這個 貌似在while裡面用不到foreach,,smarty引擎我沒用過,按理說它的賦值 應該也不用while一個一個賦值,把$smarty-assign(‘art_recommend_row’,$new_result);這個賦值拿到循環外面(smarty沒用過,按照thinkphp yii2 這些框架來說 賦值給模板不需要放在循環裡面),我按照我的想法把你的改了一下
include(‘includes/init.php’);
$sql=”SELECT *,DATE_FORMAT(add_time,’%Y-%m-%d’) as add_date FROM `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數組內的值替換問題
你好,很高興為您解答.
您的問題使用以下方法可以解決
$keys=array_keys($arr1); //array_keys函數可以提取一個數組裡的所有的key
for($i=0,$j=count($keys);$i$j;$i++){
$newarr[$keys[$i]]=$arr[$i];
}
最後得到的$newarr就是你要的新數組了
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/280892.html