2011-01-27 6 views
0

私は問題に直面しています。コードはさまざまな方法で動作しています。私のローカルマシンでコード化すると、デモサーバーでもうまく動作しますが、クライアントサーバーでは機能しません。PHP配列に値を追加しない

$input = ""; 
if($tagsources!=""){  
    foreach ($tagsources as $show_tagsources) { 
    $search_sources = TestSource::search($this->access_key, $show_tagsources); 
    foreach ($search_sources as $source) { 
     if(in_array($source,$tagsources)){ 
     $input[] = $source->id;       
     } 
    }    
    }  
} 

return $input; 

クライアントのサーバーで問題なく動作しています。 私のサーバのPHPバージョンは5.2.4 クライアントのサーバのPHPバージョンは5.1.6-23.2 です。問題がどこにあるのか分かりませんが、皆さんが理解できれば非常に役に立ちます。 ありがとうございます。

+0

投稿したコードに問題はありません。あなたのように働いていれば、ここに表示されているもの以外のものになる可能性があります。私はあなたが壊れたサーバーにいくつかのエコーステートメントを追加し、どこが壊れているかを見なければならないと思う。 – madmik3

答えて

1

私は配列として配列を処理することにより開始したい:文字列に[] =を使用した場合

$input = array(); 

は、バージョン間の動作の何らかの変化があったかもしれません。あなたが配列としてそれを使用しているので、それを配列にしてください。問題はありません。また

if ($tagsources != "") 

これがあるべきif ($tagsources)またはif (is_array($tagsources))またはif (!empty($tagsources))。配列を空の文字列と比較しないでください。それはうまくいくかもしれませんが、それはあなたが意味するものではなく、間違いやすいものです。

これで解決できない場合は、詳細なデバッグを行う必要があります。

+0

はい、私はそう思っていましたが、それが問題であるとは確信していませんでした。 – mushfiq

0

データベースからデータを取得している場合、探している値がテスト対象の特定のマシンに存在しない可能性があります。

+0

データはデータプロバイダから実際にAPI呼び出しから来ています。 – mushfiq

関連する問題