簡體   English   中英

在 php 中創建多維數組並將其切片以進行循環

[英]Creating multidimensional array in php and slicing it for looping

我正在嘗試在 php 中創建一個簡單的多維數組,以便我可以對其進行切片(從數組中獲取 4 個項目),然后在其上循環,以便我可以一次顯示一個帶有名稱/編號的圖像。

現在的主要問題是我試圖在前端轉儲切片數組並獲得非法偏移錯誤。 我認為我的邏輯是正確的,但是我的數組的格式不正確嗎?

$urls = array(
    [0] => array(
            "url" =>  '123.jpg',
            "name" => 'Cat_123',
            "number" => 123,
        ),
    [1] => array(
        "url" => '265.jpg',
        "name" => 'Cat_265',
        "number" => 265
    ),
    [2] => array(
        "url" => '121.jpg',
        "name" => 'Cat_121',
        "number" => 121,
    ),
    [3] => array(
        "url" => '245.jpg',
        "name" => 'Cat_245',
        "number" => 245,
    ),
    [4] => array(
        "url" => '4445.jpg',
        "name" => 'Cat_4445',
        "number" => 4445,
    ),
    [5] => array(
        "url" => '3332.jpg',
        "name" => 'Cat_3332',
        "number" => 3332,
    ),
);

$multid_array = array($urls);

$sliced_array = array();  

foreach ($multid_array as $sub_array) {
    $sliced_array[] = array_slice($sub_array, 0, 4);
}

從索引號中刪除[ , ] 還顯示了array_slice()的替代方法。

$urls = array(
    0 => array(
            "url" =>  '123.jpg',
            "name" => 'Cat_123',
            "number" => 123,
        ),
    1 => array(
        "url" => '265.jpg',
        "name" => 'Cat_265',
        "number" => 265
    ),
    2 => array(
        "url" => '121.jpg',
        "name" => 'Cat_121',
        "number" => 121,
    ),
    3 => array(
        "url" => '245.jpg',
        "name" => 'Cat_245',
        "number" => 245,
    ),
    4 => array(
        "url" => '4445.jpg',
        "name" => 'Cat_4445',
        "number" => 4445,
    ),
    5 => array(
        "url" => '3332.jpg',
        "name" => 'Cat_3332',
        "number" => 3332,
    ),
);

foreach ($urls as $k => $v) {
    if ($k < 4) $sliced_array[] = $v;
}

echo '<pre>'.print_r($sliced_array, 1).'</pre>';

提取數組的一部分。 獲得 4 件物品。 無需循環。 注意創建數組的語法:

$urls = array(
    array(
        "url" =>  '123.jpg',
        "name" => 'Cat_123',
        "number" => 123,
    ),
    array(
        "url" => '265.jpg',
        "name" => 'Cat_265',
        "number" => 265
    ),
    array(
        "url" => '121.jpg',
        "name" => 'Cat_121',
        "number" => 121,
    ),
    array(
        "url" => '245.jpg',
        "name" => 'Cat_245',
        "number" => 245,
    ),
    array(
        "url" => '4445.jpg',
        "name" => 'Cat_4445',
        "number" => 4445,
    ),
    array(
        "url" => '3332.jpg',
        "name" => 'Cat_3332',
        "number" => 3332,
    ),
);

$sliced_array = array_slice($urls, 0, 4);

var_dump($sliced_array);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM