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

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

PHP Array_merge 不添加逗號

PHP Array_merge 不添加逗號

PHP
大話西游666 2022-07-29 16:41:37
我正在使用 plotly.js 構建指標圖,并且正在構建一個分組條形圖。不同組中的每個條形代表不同年份的數據。并非所有組都有每年的數據,因此我需要為每個組設置不同的結構。對于這個特定的問題,我需要一組數據看起來像這樣[633, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0].我有兩個單獨的 sql 查詢拉 633 和 113。然后我通過這樣做創建兩個不同的數組$array1 = array($value1, array_fill(1, 2, 0)); $array2 = array($value2, array_fill(4, 9, 0));然后我將這兩個數組合并在一起以創建一個數組,我的數據可以發送到圖表中。$finalArray = array_merge($array1, $array2);產生結果:就數據和順序而言,它看起來是正確的。但是,我不確定為什么我的數據庫中的值沒有與該值匹配的鍵,更大的問題是數組合并的地方缺少逗號,因此值 113 出現在錯誤的組中我圖表中的條形圖。由于 plotly 是一個 javascript 庫,因此我發布了將數據發送到 javascript 文件時得到的結果。我通過從 PHP 函數返回數組變量然后在我的 javascript 文件中調用該變量來將 PHP 數據發送到 javascript。var finalArray = <? echo json_encode($courseData, JSON_PRETTY_PRINT) ?>;所以我希望我能對為什么缺少逗號和/或我做錯了什么有一些了解。
查看完整描述

3 回答

?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

這將構建一個數組,其中第一個元素是單個值,第二個元素是另一個數組:


array($value1, array_fill(1, 2, 0))

即,你得到這個:


[633, [0, 0]]

如果你想要這個輸出:


[633, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0]

然后你需要用一堆單一的值來構建數組。您可以通過將多個數組發送到 array_merge() 來做到這一點,這將提取值,然后將它們全部堆疊在一個數組中:


$new = array_merge(

    [$value1],

    array_fill(1, 2, 0)

    [$value2],

    array_fill(4, 9, 0)

);

我不確定“缺少逗號”是什么意思。


查看完整回答
反對 回復 2022-07-29
?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

array($value1, array_fill(1, 2, 0));當你想要一個時,你正在制作一個多維數組。您正在使用具有您的編號的第一個值創建一個數組,第二個值是一個數組:


(

  [0] => 633

  [1] => Array

  (

    [1] => 0

    [2] => 0

   )

)

然后,數組合并會將這兩個多維數組放在一起,得到您當前得到的結果。


你會想要這樣的東西:


$finalArray = array_merge(

  [$value1],

  array_fill(1, 2, 0)

  [$value2],

  array_fill(4, 9, 0)

);

另外,那個4應該是3嗎?


查看完整回答
反對 回復 2022-07-29
?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

如果您使用的是 PHP 7.4,您還可以array_fill在創建前兩個數組時解壓縮結果。


$array1 = array($value1, ...array_fill(1, 2, 0)); 

$array2 = array($value2, ...array_fill(4, 9, 0));

然后array_merge意志按原樣工作。


或者(除非您需要其他$array1東西$array2)您可以以相同的方式構建最終數組,而無需array_merge.


$finalArray = [$value1, ...array_fill(1, 2, 0), $value2, ...array_fill(4, 9, 0)];

如果您不使用 PHP 7.4... 沒關系。:-)


查看完整回答
反對 回復 2022-07-29
  • 3 回答
  • 0 關注
  • 190 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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