[英]Best way to slice multidimensional array on the basis of keys in PHP?
我有一個這樣的結果數組:
$array = array(
'key1' => array('...'),
'key2' => array('...'),
'key3' => array('...'),
'key4' => array('...'),
.
.
.
.
'keyn' => array('...')
);
我需要從上面的數組中獲取5個元素。 第一次key1
到key5
, key6
到key10
等等……根據條件,我需要對此進行操作。
我需要輸出:-
$array = array(
'key1' => array('...'),
'key2' => array('...'),
'key3' => array('...'),
'key4' => array('...'),
'key5' => array('...')
);
如果我的鍵值直接是$array['key1']....$array['key5']
但如果鍵是未知值,那么我可以獲得價值。
提前致謝。
要遍歷這樣的數組,可以按以下方式使用array_slice()
:
$n = count($array);
$len = 5;
for ($i = 0; $i + $len <= $n; $i += $len) {
$chunk = array_slice($array, $i, $len, true);
// do work on $chunk
}
您可以將數組的前5個項拼接或切片。
<?php
$array = array(
'key1' => array('...'),
'key2' => array('...'),
'key3' => array('...'),
'key4' => array('...'),
'key5' => array('...'),
'key6' => array('...'),
'key7' => array('...')
);
$arraySlice1 = array_slice($array, 0, 5);
$arraySlice2 = array_splice($array, 0, 5);
Slice將完整保留$ array,而$ array仍將保留7個項目,拼接將從$ array中刪除返回的結果,因此$ array將僅保留key6和key7
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.