簡體   English   中英

將相同的鍵和值添加到關聯數組php

[英]Adding same key and values to associative array php

我有這樣的數組

Array
(
    [0] => Array
        (
            [catid] => 1
            [percentage] => 4
            [name] => Access Control
        )

    [1] => Array
        (
            [catid] => 7
            [percentage] => 1
            [name] => Audio Video
        )

    [2] => Array
        (
            [catid] => 5
            [percentage] => 1
            [name] => Home Automation
        )

)

壽這陣我想補充一對catidpercentagename作為下一個鍵如另一個數組:

[3] => Array
            (
                [catid] => 7
                [percentage] => 0
                [name] => 'some name'
            )

這是我的代碼

//another array
$id=array('1','2',....n);
//$data is my  original array
foreach($id as $key=>$value){
      $data[]['catid']=$value;
      $data['percentage'][]='0';
      $data['name'][]='Some name';
}

但這會產生錯誤的輸出。

//another array
$id=array('1','2',....n);
$i = count($data);
//$data is my  original array
foreach($id as $key=>$value){
      $data[$i]['catid']=$value;
      $data[$i]['percentage']='0';
      $data[$i]['name']='Some name';
      $i++;
}

您唯一需要做的是:

$yourArray[] = [
    'catid' => 7,
    'percentage' => 0,
    'name' => 'some name'
];

您正在建立錯誤的陣列:

這會將NEW元素推入主$data數組,然后將catid / $ value的鍵/值分配給該新元素:

  $data[]['catid']=$value;

然后,創建一個新的頂級percentage ,並在其中添加零,然后同名輸入:

  $data['percentage'][]='0';
  $data['name'][]='Some name';'

您不能像這樣構建多鍵數組。 您需要構建一個臨時數組,然后將整個內容推入主數組:

$temp = array();
$temp['catid'] = $value;
$temp['percentage'] = 0;
$temp['name'] = 'Some name';

$data[] = $temp;

或簡寫為:

$data[] = array('catid' => $value, 'percentage' => 0, 'name' = 'Somename');

您可以使用array_push

$a1 = array(array('catid' => '1', 'percentage' => '4', 'name' => 'Access Control'));
$a2 = array('catid' => '7', 'percentage' => '0', 'name' => 'Some Name');
array_push($a1 ,$a2);
print_r($a1);

暫無
暫無

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

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