ホームページ >バックエンド開発 >PHPチュートリアル >スコアが高い方は、stdClassオブジェクトを配列に変換する方法についてアドバイスをお願いします。

スコアが高い方は、stdClassオブジェクトを配列に変換する方法についてアドバイスをお願いします。

WBOY
WBOYオリジナル
2016-06-23 13:59:081017ブラウズ

アドバイスをください。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

取得したい配列は
$ array[0]=6000026492
$array[1]=6000026308
...................
変換方法を教えてください
for は使わないようにしましょう大量のデータと頻繁な呼び出しがあるため、変換する最適な方法はありません



ディスカッションに返信 (解決策)

そして、変換後、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);//デコード時に強制的に配列に変換することをお勧めします
//次に、配列の次元を減らします

$p = array_map('current', $t); //最後にそれを接続しますa string

echo implode(',', $p );

//受け取るのは次の形式の json データであるはずです
$s = '[{"num":123},{"num":456 }]';
$t = json_decode($s, 1);//デコード時に強制的に配列に変換することをお勧めします
//その後、配列の次元を削減します
$p = array_map('current', $t);

//最後に文字列に接続します

echo implode(',', $p );
そのままJSONオブジェクトとして使ってデコードするべきでしょうか...使い方が難しそうです

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。