1. ホーム
  2. php

[解決済み] php - この不正なオフセットタイプのエラーを修正するにはどうすればよいですか?

2022-02-25 22:43:23

質問

次のような現象が起きています。

不正なオフセットタイプ

というエラーが、このコードの繰り返しごとに発生します。以下はそのコードです。

$s = array();
for($i = 0; $i < 20; $i++){
    $source = $xml->entry[$i]->source;
    $s[$source] += 1;    
}

print_r($s)

解決方法は?

不正なオフセットタイプ を使用して配列インデックスにアクセスしようとすると、エラーが発生します。 オブジェクト または 配列 をインデックスキーとして使用します。

$x = new stdClass();
$arr = array();
echo $arr[$x];
//illegal offset type

あなたの $xml の配列にオブジェクトまたは配列が含まれています。 $xml->entry[$i]->source のある値に対して $i のインデックスキーとして使用しようとした場合、そのキーは $s という警告が表示されます。 そのため $xml には必要なものが含まれており、正しくアクセスしていることがわかります。