您的位置 >>> 星想互聯 >>> 編程技術 >>> PHP基礎
php常用數組函數
點擊數:67  發布時間2020-06-07 18:51:23
常用函數
1. 可用于隊列操作
array_push($arr, $value1, ...)將一個或多個單元壓入數組的末尾(入棧)
array_pop($arr);彈出數組最后一個單元(出棧)
array_unshift($arr, $value1, ...);在數組開頭插入一個或多個單元
array_shift($arr);將數組開頭的單元移出數組
2. 數組自定義操作
array_map()
語法:array array_map ( callable $callback , array $array1 [, array $... ] )
說明:返回數組,是為 array1 每個元素應用 callback函數之后的數組。 callback 函數形參的數量和傳給 array_map() 數組數量,兩者必須一樣。
詳細使用
例:
  <?php
function cube($n)
{
    return($n * $n * $n);
}

$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);

輸出:
Array
(
    [0] => 1
    [1] => 8
    [2] => 27
    [3] => 64
    [4] => 125
)

array_walk()
語法:bool array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] )
說明:使用用戶自定義函數對數組中的每個元素做回調處理,不會受到 array 內部數組指針的影響。array_walk() 會遍歷整個數組而不管指針的位置。
具體使用
例:
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");

function test_alter(&$item1, $key, $prefix) {
    $item1 = "$prefix: $item1";
}

function test_print($item2, $key) {
    echo "$key. $item2<br />\n";
}

echo "Before ...:\n";
array_walk($fruits, 'test_print');

array_walk($fruits, 'test_alter', 'fruit');
echo "... and after:\n";

array_walk($fruits, 'test_print');

結果:
Before ...:
d. lemon
a. orange
b. banana
c. apple
... and after:
d. fruit: lemon
a. fruit: orange
b. fruit: banana
c. fruit: apple

例:
$origin = [
['status' => 'error', 'num' => 5],
['status' => 'success', 'num' => 3]
];
$statistics = [];
 array_walk($origin, function ($value) use (&$statistics) {
    return $statistics[$value['status']] = $value['num'];
});
//statistics = [
    //'error' => 5,
    //'success' => 3
//];

array_reduce()
語法:mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )
說明:用回調函數迭代地將數組簡化為單一的值,
具體使用
參數:
callback
mixed callback ( mixed $carry , mixed $item )
carry
攜帶上次迭代里的值; 如果本次迭代是第一次,那么這個值是 initial。

item
攜帶了本次迭代的值。

initial
如果指定了可選參數 initial,該參數將在處理開始前使用,或者當處理結束,數組為空時的最后一個結果。

例:
  <?php
function sum($carry, $item)
{
    $carry += $item;
    return $carry;
}

function product($carry, $item)
{
    $carry *= $item;
    return $carry;
}

$a = array(1, 2, 3, 4, 5);
$x = array();

var_dump(array_reduce($a, "sum")); // int(15)
var_dump(array_reduce($a, "product", 10)); // int(1200), because: 10*1*2*3*4*5
var_dump(array_reduce($x, "sum", "No data to reduce")); // string(17) "No data to reduce"

3. 多數組操作
array_merge($array1, $array2, ...)合并一個或多個數組
array_diff($array1, $array2, ...) 計算數組的差集; 對比 array1 和其他一個或者多個數字,返回在 array1 中但是不在其他 array 里的值。
array_intersect($array1, $array2, ...)計算數組的交集;返回一個數組,該數組包含了所有在 array1 中也同時出現在所有其它參數數組中的值。注意鍵名保留不變。
4. 其他
array_keys 返回數組中部分的或所有的鍵名
array_values 返回數組中所有的值
array_unique 移除數組中重復的值
array_multisort 對多個數組或多維數組進行排序
array_reverse 返回單元順序相反的數組
array_slice 從數組中取出一段
語法:array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )
array_search 在數組中搜索給定的值,如果成功則返回首個相應的鍵名
語法:mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
————————————————
版權聲明:本文為CSDN博主「Taylor007」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_35958788/java/article/details/82805588
來源:咸寧網站建設
日本高清成 人,A级高清毛片av无码,欧美成 人 免费在线播放-首页 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>