2023年3月20日 星期三
array_walk — 使用使用者自定義函式對陣列中的每個元素做**處理
array_walk( array&$array,callable$callback[,mixed$userdata=null] ) : bool
將使用者自定義函式funcname應用到array陣列中的每個單元。
array_walk()不會受到array內部陣列指標的影響。array_walk()會遍歷整個陣列而不管指標的位置。
典型情況下callback接受兩個引數。array引數的值作為第乙個,鍵名作為第二個。
note:
如果callback需要直接作用於陣列中的值,則給callback的第乙個引數指定為引用。這樣任何對這些單元的改變也將會改變原始陣列本身。
note:
引數數量超過預期,傳入內建函式 (例如strtolower()), 將丟擲警告,所以不適合當做funcname。
只有array的值才可以被改變,使用者不應在**函式中改變該陣列本身的結構。例如增加/刪除單元,unset 單元等等。如果array_walk()作用的陣列改變了,則此函式的的行為未經定義,且不可預期。
如果提供了可選引數userdata,將被作為第三個引數傳遞給 callbackfuncname。
<?php輸出$fruits = array("
d" => "
lemon
", "
a" => "
orange
", "
b" => "
banana
", "
c" => "");
function test_alter(&$value, $key, $prefix)
function test_print($value, $key)
echo
"before ...:"
;array_walk($fruits,
'test_print');
echo ''
;array_walk($fruits,
'test_alter
', '
fruit');
echo
"... and after:";//
改變原始陣列本身
array_walk($fruits,
'test_print
');
array_merge — 合併乙個或多個陣列
array_merge( array$array1[, array$...] ) : array
array_merge()將乙個或多個陣列的單元合併起來,乙個陣列中的值附加在前乙個陣列的後面。返回作為結果的陣列。
如果輸入的陣列中有相同的字串鍵名,則該鍵名後面的值將覆蓋前乙個值。然而,如果陣列包含數字鍵名,後面的值將不會覆蓋原來的值,而是附加到後面。
如果只給了乙個陣列並且該陣列是數字索引的,則鍵名會以連續方式重新索引。
<?php$array1 = array("
color
" => "
red", 2, 4
);$array2 = array("
a", "
b", "
color
" => "
green
", "
shape
" => "
trapezoid
", 4
);$result =array_merge($array1, $array2);
//元素4被覆蓋
var_dump($result);
輸出count — 計算陣列中的單元數目,或物件中的屬性個數array(7)
count( mixed$array_or_countable
[, int$mode
= count_normal ] ) : int
<?php$a[0] = 1
;$a[
1] = 3
;$a[
2] = 5
;var_dump(count($a));
$b[0] = 7
;$b[
5] = 9
;$b[
10] = 11
;var_dump(count($b));
//有個例外:如果 array_or_countable 是 null 則結果是 0。
var_dump(count(null
));var_dump(count(
false
));?>
輸出is_array — 檢測變數是否是陣列int(3) int(3) int(0) int(1)
is_array( mixed$var
) : bool
如果var
是 array,則返回true
,否則返回false
。
substr — 返回字串的子串
substr( string$string
, int$start
[, int$length
] ) : string
返回字串string
由start
和length
引數指定的子字串。
<?phpecho substr(
'abcdef
', 1).'
'; //
bcdef
echo substr('
abcdef
', 1, 3).'
'; //
bcdecho substr('
abcdef
', 0, 4).'
'; //
abcd
echo substr('
abcdef
', 0, 8).'
'; //
abcdef
echo substr('
abcdef
', -1, 1).'
'; //f//
訪問字串中的單個字元
//也可以使用中括號
$string = '
abcdef';
echo $
string[0].'
'; //
aecho $string[3].'
'; //
decho $string[strlen($string)-1].'
'; //
f
輸出bcdef
bcdabcd
abcdeffa
df
每天10個Linux命令五
1.chomd命令 chomd 777 a.txt 設定a.txt檔案的許可權為可讀可執行 chmod 777 將目錄下所有的檔案的額執行許可權設定為刻度可執行 chmod 666 a.txt 去掉檔案的可執行許可權 chmod 770 a.txt 屬主和屬組有所有許可權 chmod 755 a.t...
夯實基礎之linux 每天五個個命令
命令一 cat 開啟輸出乙個檔案的內容,或者拼接兩個檔案內容並且輸出 n 或 number 由 1 開始對所有輸出的行數編號 b 或 number nonblank 和 n 相似,只不過對於空白行不編號 s 或 squeeze blank 當遇到有連續兩行以上的空白行,就代換為一行的空白行 v 或 ...
JS記憶函式
對於一種純函式 即只要是同一種輸入就能得到唯一乙個相同的結果的函式 我們可以設定記憶函式來節約資源,當輸入的引數不變時,我們就可以採用快取的結果,當輸入引數有所變化時才重新計算。一種記憶函式如下所示 function memorize fn cachedarg arg cachedresult fn...