PHP имеет превосходную встроенную поддержку JSON, поэтому нет необходимости вручную выполнять поиск по строке JSON, чтобы выяснить, имеет ли объект, который он представляет, заданное свойство. Просто сделай
$twitterObj = json_decode( $responseTextFromTwitterAPI [, true ] );
со вторым параметром = true
, если строка JSON представляет ассоциативный массив, и false, если это «простой» (целочисленный) индекс. (Вы захотите проверить документы Twitter, чтобы выяснить это.) Тогда ваши проверки должны составить что-то вроде (я не знаком со спецификацией API Twitter ...):
foreach ( $twitterObj as $tweet ) {
if ( isset( $tweet['retweeted_status'] ) ) {
// Retweet
} else {
// Original
}
// Do stuff...
}
EDIT:
Это работает для меня:
$obj = json_decode( $jsonFromTwitter, true );
foreach ( $obj as $o ) {
if ( isset($o['retweeted_status']) ) {
echo $o['retweeted_status']['text'];
} else {
echo $o['text];
}
Вы должны быть в состоянии добраться туда, куда хотите, верно?