phpでは、関数カウントはJSONオブジェクトでも機能しますか?オブジェクトの要素数を返しますか?または、この関数は配列に対してのみ機能しますか?JSONオブジェクトのPHPでのカウント関数
count($varJSONobject);
phpでは、関数カウントはJSONオブジェクトでも機能しますか?オブジェクトの要素数を返しますか?または、この関数は配列に対してのみ機能しますか?JSONオブジェクトのPHPでのカウント関数
count($varJSONobject);
PHPでJSONobject
のようなものはありません(それはいくつかのユーザー定義の何かまたは他のでない限り)。 json_decode
docsによって生成された配列またはstdClass
インスタンスのみがあり、count
と一緒に使用できます。
count
にはオブジェクトにCountable
docsインターフェイスを実装させることでオブジェクトを応答させることができます。完全を期すために
count
の結果を考慮してください。
$test = new stdClass;
$test->prop1 = 1;
$test->prop2 = 1;
var_dump(count($test)); // 1
$test = (array) $test;
var_dump(count($test)); // 2
class CountTest {
public $prop1 = 1;
public $prop2 = 1;
}
$test = new CountTest;
var_dump(count($test)); // 1
$test = (array) $test;
var_dump(count($test)); // 2
// class implementing Countable
class CountMe implements Countable {
protected $myCount = 3;
public function count(){
return $this->myCount;
}
}
$test = new CountMe;
var_dump(count($test)); // 3
これは実際には真実ではなく、私は投票しなければなりませんが、修正することができます。 'json_decode'は、オブジェクトのためにデフォルトでオブジェクト(stdClass)を返します。ただし、' true'を2番目のパラメータとして渡さない限り、それは配列だけを返します。 – Orbling
これらはjson_decodeによって生成された配列です。ありがとうございました! –
orblingありがとう - 私は 'json_decode'時には、私はこのように使うことができる配列を得るために' true'を渡すべきですか?ありがとうございました! –
可能な重複:http://stackoverflow.com/questions/5923149/a-php-count-of-the-number-of -items-returned-json-request –
いいえ、重複していません。答えは同じかもしれませんが、質問は異なります。 なぜそれは可能な複製ですか?あなたがそれがそうだと思うなら、それを言うか、私の質問に対する答えを知らないのですか?もしそうなら、それに答えてください。あなたがしない場合は、静かにすることができます、あなたは確信していないだけでdownvoteする必要はありません。ありがとうございました –
私はあなたの質問をdownvoteしなかった。質問に「可能な重複」リンクを追加することは、ここではかなり一般的です。それは個人的なものではありません。 –