php數組元素替換
A. 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:如果被指定,它的值將被設置為替換發生的次數。
返回值:
該函數返回替換後的數組或者字元串。
B. php 數組 將指定元素移至末尾
$arr = array(0,3,5,0,0,7,1,9,0,8);
$count = count($arr);
$remove_arr = array();
for($i=0;$i<=$count;$i++){
if($arr[$i] === 0) {
array_push($arr, $arr[$i]);
array_push($remove_arr, $i);
}
}
foreach($arr as $k=> $v) {
if(in_array($k, $remove_arr)){
unset($arr[$k]);
}
}
echo '<pre>';
var_mp($arr);die;
C. php 常用的數組函數都有哪些 作用是什麼有什麼特點 怎麼使用
php常用的數組函數的作用特點如下:
array_change_key_case -- 返回字元串鍵名全為小寫或大寫的數組
array_chunk -- 將一個數組分割成多個
array_combine -- 創建一個數組,用一個數組的值作為其鍵名,另一個數組的值作為其值
array_count_values -- 統計數組中所有的值出現的次數
array_diff_assoc -- 帶索引檢查計算數組的差集
array_diff_key -- 使用鍵名比較計算數組的差集
array_diff_uassoc -- 用用戶提供的回調函數做索引檢查來計算數組的差集
array_diff_ukey -- 用回調函數對鍵名比較計算數組的差集
array_diff -- 計算數組的差集
array_fill_keys -- 使用指定的鍵和值填充數組
array_fill -- 用給定的值填充數組
array_filter -- 用回調函數過濾數組中的單元
array_flip -- 交換數組中的鍵和值
array_intersect_assoc -- 帶索引檢查計算數組的交集
array_intersect_key -- 使用鍵名比較計算數組的交集
array_intersect_uassoc -- 帶索引檢查計算數組的交集,用回調函數比較索引
array_intersect_ukey -- 用回調函數比較鍵名來計算數組的交集
array_intersect -- 計算數組的交集
array_key_exists -- 檢查給定的鍵名或索引是否存在於數組中
array_keys -- 返回數組中所有的鍵名
array_map -- 將回調函數作用到給定數組的單元上
array_merge_recursive -- 遞歸地合並一個或多個數組
array_merge -- 合並一個或多個數組
array_multisort -- 對多個數組或多維數組進行排序
array_pad -- 用值將數組填補到指定長度
array_pop -- 將數組最後一個單元彈出(出棧)
array_proct -- 計算數組中所有值的乘積
array_push -- 將一個或多個單元壓入數組的末尾(入棧)
array_rand -- 從數組中隨機取出一個或多個單元
array_rece -- 用回調函數迭代地將數組簡化為單一的值
array_replace_recursive -- 使用傳遞的數組遞歸替換第一個數組的元素
array_replace -- 使用傳遞的數組替換第一個數組的元素
array_reverse -- 返回一個單元順序相反的數組
array_search -- 在數組中搜索給定的值,如果成功則返回相應的鍵名
array_shift -- 將數組開頭的單元移出數組
array_slice -- 從數組中取出一段
array_splice -- 把數組中的一部分去掉並用其它值取代
array_sum -- 計算數組中所有值的和
array_udiff_assoc -- 帶索引檢查計算數組的差集,用回調函數比較數據
array_udiff_uassoc -- 帶索引檢查計算數組的差集,用回調函數比較數據和索引
array_udiff -- 用回調函數比較數據來計算數組的差集
array_uintersect_assoc -- 帶索引檢查計算數組的交集,用回調函數比較數據
array_uintersect_uassoc -- 帶索引檢查計算數組的交集,用回調函數比較數據和索引
array_uintersect -- 計算數組的交集,用回調函數比較數據
array_unique -- 移除數組中重復的值
array_unshift -- 在數組開頭插入一個或多個單元
array_values -- 返回數組中所有的值
array_walk_recursive -- 對數組中的每個成員遞歸地應用用戶函數
array_walk -- 對數組中的每個成員應用用戶函數
array -- 新建一個數組
arsort -- 對數組進行逆向排序並保持索引關系
asort -- 對數組進行排序並保持索引關系
compact -- 建立一個數組,包括變數名和它們的值
count -- 計算數組中的單元數目或對象中的屬性個數
current -- 返回數組中的當前單元
each -- 返回數組中當前的鍵/值對並將數組指針向前移動一步
end -- 將數組的內部指針指向最後一個單元
extract -- 從數組中將變數導入到當前的符號表
in_array -- 檢查數組中是否存在某個值
key -- 從關聯數組中取得鍵名
krsort -- 對數組按照鍵名逆向排序
ksort -- 對數組按照鍵名排序
list -- 把數組中的值賦給一些變數
natcasesort -- 用「自然排序」演算法對數組進行不區分大小寫字母的排序
natsort -- 用「自然排序」演算法對數組排序
next -- 將數組中的內部指針向前移動一位
pos -- current 的別名
prev -- 將數組的內部指針倒回一位
range -- 建立一個包含指定范圍單元的數組
reset -- 將數組的內部指針指向第一個單元
rsort -- 對數組逆向排序
shuffle -- 將數組打亂
sizeof -- count 的別名
sort -- 對數組排序
uasort -- 使用用戶自定義的比較函數對數組中的值進行排序並保持索引關聯
uksort -- 使用用戶自定義的比較函數對數組中的鍵名進行排序
usort -- 使用用戶自定義的比較函數對數組中的值進行排序
關於如何使用,那是要根據使用者需求來衡量,不能一言概括
使用語法如下:
<?php
$arr=array('Hello','World!');
$arr=implode(',',$arr);
echo$arr;
?>
結果是:HelloWorld!
如果你想更多的了解php的數組函數,我建議你詳細地去看看php手冊
php手冊官網:http://www.php.net/manual/zh/index.php
D. php數組元素值的修改和刪除問題
刪除數組元素和刪除一個變數一樣
unset($strArray['key']);
更新是直接賦值
$strArray['key'] = 'new var';
=================
這種事情我做過, 關鍵是把 $strArray 放在文件中,以及對這個數組的操作.
1.存放,比如放在 strarray.php 中
$fp = fopen('strarray.php','w');
fwrite($fp,'<?php'."\n".'$strArray = '.var_export($strArray,1).";\n?>");
fclose($fp);
2. 讀取
include 'strarray.php';
3. 刪除
unset($strArray['key'])
====
要注意的是,如果使用函數來做這些操作,strArray是全局變數,在function中要有
global $strArray;
這句聲明
我試過使用這個方法來存放經緯度數據,好處是不用xml文件或資料庫,速度也非常快
E. php語言 $arr=array(5 =>1, 12=>2)是什麼意思
php中數組中的元素分為兩個部分,一個是鍵,也就是key,一個是值,也就是value。
$arr[key]=value.換成你給的數組就是:
$arr[5]=1;$arr[12]=2.
比如:
$a=array(1,2,3,4);數組a中,只賦給了值,分別是1,2,3,4。其實,他默認的還在每個值前有一個鍵,只是沒有顯示。默認的是從0開始,比如上面的數組,他們的鍵分別是:0,1,2,3。
用戶可以給這些值賦鍵,也就是用戶手動給他添加鍵。而鍵的內容用戶自定。可以是數字也可以是字元。比如:
$a=array("ab"=>1,"c"=>bb);
這樣,數組a就可以寫成:
$a[ab]=1;$a[c]=bb.
方括弧中的是鍵,等號後的事值。這樣就可以標記數組中的不同值,不會因為數組中有多個值而沒有辦法出去其中的一個值,只要提供鍵,就可以取出對應的值了。
你所提供的數組,名稱叫做arr,他其中記錄了兩個值,分別為1和2。而1和2所對應的鍵分別為5和12。鍵其實就是個標記,來記錄數組中值存放的位置。