簡體   English   中英

將PHP數組轉換為Javascript數組

[英]Converting a PHP array into a Javascript one

在網上尋找答案后,我找不到解決問題的方法:我一直得到長度為1的數組。

我的代碼如下所示:

<?php
    echo "var PlayerPokemon1 = ".$jsPoke1.";\n";
?>

哪個返回

PlayerPokemon1 = [{"Number":"9","0":"9","Name":"Rock Slide","1":"Blastoise","Type1":"Water","2":"Water","Type2":"","3":"","HP":"362","4":"362","Attack":"295","5":"295"}]

這僅僅是一個巨大的目標,我想要實現的目標是

PlayerPokemon1 = [“ 9”,“ 9”,“ Rock Slide”,“ Blastoise”,“ Water”]

等等...

我嘗試了這種其他方法

$numArray = count($jsPoke1);
for ($i=0; i<$numArray; i++)
{
    echo "PlayerPokemon1[$i] = ".jsPoke1[$i].";\n";
}

但無濟於事。

編輯:

print_r ($poke1);

gives this:

Array ( [0] => Array ( [Number] => 9 [0] => 9 [Name] => Rock Slide [1] => Blastoise [Type1] => Water [2] => Water [Type2] => [3] => [HP] => 362 [4] => 362 [Attack] => 295 [5] => 295 [Defense] => 339 [6] => 339 [Speed] => 280 [7] => 280 [Move1] => Aqua Tail [8] => Aqua Tail [Move2] => Ice Beam [9] => Ice Beam [Move3] => Dark Pulse [10] => Dark Pulse [Move4] => Rock Slide [11] => Rock Slide [12] => Aqua Tail [Type] => Rock [13] => Water [Power] => 75 [14] => 90 [15] => Ice Beam [16] => Ice [17] => 90 [18] => Dark Pulse [19] => Dark [20] => 80 [21] => Rock Slide [22] => Rock [23] => 75 ) )

$jsPoke1 = json_encode($Poke1);
print_r ($jsPoke1);

[{"Number":"9","0":"9","Name":"Rock Slide","1":"Blastoise","Type1":"Water","2":"Water","Type2":"","3":"","HP":"362","4":"362","Attack":"295","5":"295","Defense":"339","6":"339","Speed":"280","7":"280","Move1":"Aqua Tail","8":"Aqua Tail","Move2":"Ice Beam","9":"Ice Beam","Move3":"Dark Pulse","10":"Dark Pulse","Move4":"Rock Slide","11":"Rock Slide","12":"Aqua Tail","Type":"Rock","13":"Water","Power":"75","14":"90","15":"Ice Beam","16":"Ice","17":"90","18":"Dark Pulse ","19":"Dark","20":"80","21":"Rock Slide","22":"Rock","23":"75"}]

最終,我想要的是一個Javascript數組,其值在數字上像[“ 9”,“ 9”,“ Blastoise”]一樣索引

從您的問題來看,天氣不清楚,您只需要Blastoise還是PlayerPokemon1所有口袋妖怪,但我會嘗試給出一個可行的答案。 您可以在此處嘗試此代碼

如果您的$jsPoke1數組看起來像

$jsPoke1 = [
  [//Blastoise
    'Number' => 9,
    0 => 9,
    1 => 'Blastoise',
    'Name' => 'Rock Slike',
    ],
  [//Totodile
    'Number' => 5,
    0 => 2,
    1 => 'Totodile',
    'Name' => 'Water Gun',
    ]
  ];

你可以做

$formattedPokemons = array_map(function($pokemon){
  return array_values($pokemon);
}, $jsPoke1);

如果要在PlayerPokemon1所有口袋妖怪,請執行以下操作

echo "var PlayerPokemon1 = ".json_encode($formattedPokemons);

或者這另一件事,如果您只想要Blastoise

echo "var PlayerPokemon1 = ".json_encode($formattedPokemons[0]);

暫無
暫無

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

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