成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

數組常用方法返回值和改變原數組 Excel VBA自定義函數怎么返回一個數組?

Excel VBA自定義函數怎么返回一個數組?VBA函數可以返回數組,例子代碼:執(zhí)行效果: 數組交換位置方法?數組交換位置的方法;1,引入第三個變置;Var,arr=(‘One',tw0,);Var,

Excel VBA自定義函數怎么返回一個數組?

VBA函數可以返回數組,例子代碼:執(zhí)行效果:

數組交換位置方法?

數組交換位置的方法;

1,引入第三個變置;Var,arr=(‘One',tw0,);

Var,item=arr(O);

arr(0)=arr(1);

arr(1)=item;

2,SPlice方法,spⅠiCe()方直接對數組進行修改,SpⅠiC

PHP獲取數組最后一個值,不改變原數組,應該怎么做?

引言我們對于 PHP 的數組操作樂此不疲,為什么?因為 PHP 編程你幾乎時時刻刻都在于數組打交道,對于數組的操作熟練程度,很大一部分因素關系著代碼的優(yōu)劣。

今天我們來說說,如何獲取數組的最后一個元素,并且不刪除它。

不要小看這個需求,沒準兒你還做不對呢 :)

學習時間如果你首先想到了 array_pop,那很不幸,這個函數可以獲取最后一個元素,卻把數組更改了。

array_pop 彈出并返回 array 數組的最后一個單元,并將數組 array 的長度減一。如果 array 為空(或者不是數組)將返回 NULL。 此外如果被調用不是一個數則會產生一個 Warning。

這顯然不是我們要的結果。

其實實現(xiàn)一個需求的方法是多種多樣的,我們嘗試使用 10 種不同的辦法,來做到這一點。

$x array_values(array_slice($array, -1))[0]

第一種,使用 array_slice 截取數組 $array 倒數第一個元素。返回的是一個數組。然后使用 array_values 重新編排索引值。因為數組只有一個元素,那么索引值必然是 0。原數組 $array 毫發(fā)無損。

$x array_slice($array, -1)[0]

第二種方法沒有考慮關聯(lián)數組的情況,有可能索引 0 不存在。所以容錯性不好。

$x array_pop((array_slice($array, -1)))

第三種方法,終于用到了 array_pop。不過是在 array_slice 階段的數組上使用。

$x array_pop((array_slice($array, -1, 1)))

第四種方法,簡直是有魔性了,比第三種辦法相比,只是在 array_slice 截斷的長度手動指定為 1。

$x end($array) reset($array)

第五種方法,用到數組指針了。end 返回最后一個元素。然后需要手動恢復指針位置到頭部,所以調用了一次 reset 函數。本方法有可能返回關聯(lián)數組,而不能拿到值。

$x end((array_values($array)))

第六種方法,嚴格地為了返回最后一個元素的值,使用 array_values 進行了索引重新編排。

$x $array[count($array)-1]

第七種方法,直接使用索引了??隙ㄊ羌僭O數組都是默認遞增索引的數組,所以 count 獲取的長度才有效。該方法容錯性差。

$keys array_keys($array) $x $array[$keys[count($keys)-1]]

第八種方法,是對第七種的不足的修復。

$x $array[] array_pop($array)

第九種方法,我們需要明白,使用連等復制,array_pop 彈出數組的最后一個元素后,同時賦值給 $x。這沒問題。賦值給原數組 $array[],這會對關聯(lián)數組重新排定索引,所以有副作用。

$x $array[array_key_last($array)]

第十種,這種方法的容錯性也極高,因為使用了 array_key_last,有效地考慮了關聯(lián)數組的情況,而且結果也很取巧。這個方法很棒。但是只有 PHP 7.3 以上的版本才有。

寫在最后好了,大家好好消化一下上面10個方法的優(yōu)劣,取長補短,深度學習吧。

Happy coding :_)

我是 @程序員小助手 ,持續(xù)分享編程知識,歡迎關注。