ホームページ >バックエンド開発 >PHPチュートリアル >スコアが高い方は、stdClassオブジェクトを配列に変換する方法についてアドバイスをお願いします。
アドバイスをください。Google で答えが見つからないときに投稿して皆さんを悩ませています。
質問:
json を使用して取得した配列 $array の形式は次のとおりです
Array( [0] => stdClass Object ( [num_iid] => 6000026492 ) [1] => stdClass Object ( [num] => 6000026308 ) [2] => stdClass Object ( [num] => 6000025528 ) [3] => stdClass Object ( [num] => 6000025650 ) [4] => stdClass Object ( [num] => 6000027082
そして、変換後、implode を通じて最終結果文字列を取得します。 (","$array): 6000026492,6000026308....
Array( [0] => stdClass Object ( [num_iid] => 6000026492 ) [1] => stdClass Object.........を 6000026492, 6000026308.... に直接変換するワンステップの方法はありますか?
提供されたアイデア: json 文字列を送信する場合は、json 文字列を直接処理することをお勧めします。たとえば、正規表現などを使用するか、単に str_replace を使用します。
ここにアイデアがあります: json 文字列を送信する場合は、json 文字列を直接処理することをお勧めします。たとえば、正規表現などを使用するか、単に str_replace を使用します。
ありがとうございます
//受け取るのは次の形式の json データです
$s = '[{"num":123},{"num":456}]' $t = json_decode($) s, 1);//デコード時に強制的に配列に変換することをお勧めします
//次に、配列の次元を減らします
echo implode(',', $p );
//受け取るのは次の形式の json データであるはずです
$s = '[{"num":123},{"num":456 }]';
$t = json_decode($s, 1);//デコード時に強制的に配列に変換することをお勧めします
//その後、配列の次元を削減します
$p = array_map('current', $t);
echo implode(',', $p );
そのままJSONオブジェクトとして使ってデコードするべきでしょうか...使い方が難しそうです