亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何用PHP從多維數組的表數據中刪除所有權重元素?

如何用PHP從多維數組的表數據中刪除所有權重元素?

PHP
夢里花落0921 2023-04-02 15:01:49
在手動將額外的列“CAD 數據”附加到帶有表格數據的多維數組后,不幸的是,我在“CAD 數據”列之前得到了這個糟糕的 [weight] 列。我的表數據輸出截圖實際上我只是想再次刪除輸出前的整個 [weight] 列。我嘗試了幾件事,但沒有成功。Array (     [row_0] => Array (         [col_0] => Order number         [col_1] => Size         [weight] => 1     )     [row_1] => Array (         [col_0] => 502 1001         [col_1] => 20         [weight] => 2     )     [row_2] => Array (         [col_0] => 502 1002         [col_1] => 25         [weight] => 3     )     [row_3] => Array (         [col_0] => 502 1003        [col_1] => 30         [weight] => 4     ) ) 在我的代碼下面:<?php$rows = $element['#object']->field_product_data_table['und'][0]['tabledata']['tabledata'];$header = array_shift($rows);$attributes = array(    "id" => "tablefield-0",    "class" => array("tablefield"));// append CAD data columnif (array_key_exists('und', $element['#object']->field_product_step_data)) {    $header[] = t('CAD data');    // make index of all entries in table    $entry_row_id_index = array();    foreach ($rows as $row_id => &$row) {        foreach ($row as $entry) {            $entry_row_id_index[$entry] = $row_id;        }    }    $step_files = $element['#object']->field_product_step_data['und'];    // add step-file to entry to rows with corresponding order number    $max_row_length = 0;    foreach ($step_files as &$file) {        if (array_key_exists($file['description'], $entry_row_id_index)) {            $orderNumber = $file['description'];            $row_id = $entry_row_id_index[$orderNumber];            $rows[$row_id][] = '<a href="#" class="step-file" data-filename="' . $file['filename'] . '" data-ordernumber="' . $orderNumber . '"></a>';            $row_length = count($rows[$row_id]);            if ($row_length > $max_row_length) $max_row_length = $row_length;        }    }    // fill rows so all have same length    foreach ($rows as $row_id => &$row) {        for ($i = count($row); $i < $max_row_length; $i++) {             $row[] = '';        }    }}?>
查看完整描述

2 回答

?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

使用數組映射。它遍歷每個元素并創建新的元素數組,無論你想返回什么。在您的情況下,您希望刪除 'weight' col,因此取消設置。


$array1 = [

    [

        'col_0' => '123',

        'col_1' => '321',

        'weight' => 1

    ],

    [

        'col_0' => '123',

        'col_1' => '321',

        'weight' => 1

    ],

    [

        'col_0' => '123',

        'col_1' => '321',

        'weight' => 1

    ],

    [

        'col_0' => '123',

        'col_1' => '321',

        'weight' => 1

    ],

    [

        'col_0' => '123',

        'col_1' => '321',

        'weight' => 1

    ],

];


$array2 = array_map(function($element) {

    unset($element['weight']);

    return $element;

}, $array1);


查看完整回答
反對 回復 2023-04-02
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

您可以使用array_map 函數操作數組


$arr = array_map(

? ? # apply function for each array element

? ? function ($el) {

? ? ? ? # return modified array elements

? ? ? ? return [

? ? ? ? ? ? 'col_0'=>$el['col_0'],?

? ? ? ? ? ? 'col_1'=>$el['col_1']

? ? ? ? ];

? ? },?

? ? $arr

);

上面的代碼使用帶有匿名函數的 array_map 從源數組接收每個元素,操作它并返回更改的元素


查看完整回答
反對 回復 2023-04-02
  • 2 回答
  • 0 關注
  • 136 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號