配列をエコーすることはできません:それを印刷することだけ:そして特定の配列をエコーするだけ -- php フィールド と arrays フィールド と codeigniter フィールド 関連 問題

can't echo the array: only able to print it: and only echo the specific array












1
vote

問題

日本語
<事前> <コード> <?php foreach ($recorded as $rows ) { echo "<pre>"; print_r ($rows); echo "</pre>"; echo "<img src='".base_url()."upload/thumbs/".$rows->file_name."'/>"; } ?>

<コード> $rows を印刷すると、結果が次のとおりです。

<事前> <コード> Array ( [0] => stdClass Object ( [file_name] => steve-big.jpg ) [1] => stdClass Object ( [file_name] => steve1-big.jpg ) [2] => stdClass Object ( [file_name] => steve2-big.jpg ) [3] => stdClass Object ( [file_name] => steve3-big.jpg ) ) Array ( [0] => stdClass Object ( [file_name] => size-5-5-width-m.jpg ) [1] => stdClass Object ( [file_name] => 3316783.jpg ) [2] => stdClass Object ( [file_name] => 3316786.jpg ) [3] => stdClass Object ( [file_name] => 3316792.jpg ) )

しかしなぜ私はそれを響くことができないのですか?

CodeIgniterを使用しています、そしてこれは私が得るエラーメッセージです:

PHPエラーが発生しました。|重大度:通知|メッセージ:オブジェクト以外のプロパティを取得しようとしています。ファイル名:views / motherhop.php |行番号:17

しかし、私はこのような特定の番号をそれに与える場合にのみエコーすることができます: $rows[0]->file_name $rows[1] など。

助けて、これは本当に私を混乱させます。

英語
<?php  foreach ($recorded as $rows )      {         echo "<pre>";         print_r ($rows);          echo "</pre>";          echo "<img src='".base_url()."upload/thumbs/".$rows->file_name."'/>";     }  ?> 

When I print the $rows the results are:

Array (     [0] => stdClass Object         (             [file_name] => steve-big.jpg         )      [1] => stdClass Object         (             [file_name] => steve1-big.jpg         )      [2] => stdClass Object         (             [file_name] => steve2-big.jpg         )      [3] => stdClass Object         (             [file_name] => steve3-big.jpg         )  )  Array (     [0] => stdClass Object         (             [file_name] => size-5-5-width-m.jpg         )      [1] => stdClass Object         (             [file_name] => 3316783.jpg         )      [2] => stdClass Object         (             [file_name] => 3316786.jpg         )      [3] => stdClass Object         (             [file_name] => 3316792.jpg         )  ) 

But why can't I echo it?

I am using codeIgniter, and this is the error message I get:

A PHP Error was encountered | Severity: Notice | Message: Trying to get property of non-object | Filename: views/mothershop.php | Line Number: 17

But I am only able to echo it if i give it a specific number like this: $rows[0]->file_name, $rows[1], and so on.

Please, help, this really makes me confuse.

</div
        
         
         

回答リスト

2
 
vote
vote
ベストアンサー
 

これはあなたのために働くべきです:

<事前> <コード> foreach ($recorded as $rows) array_walk($rows, function($v){ echo "<img src='" . base_url() . "upload/thumbs/" . $v->file_name . "'/>"; });
 

This should work for you:

foreach ($recorded as $rows)      array_walk($rows, function($v){         echo "<img src='" . base_url() . "upload/thumbs/" . $v->file_name . "'/>";     }); 
</div
 
 
2
 
vote

$rows を参照しても、再度配列を含みます。それで、あなたは echo ではありません。代わりに、 echo echo を使用する必要があります。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Newtonsoft.Json.Linq; namespace Management { class DeliveryMapInfo { string origin = @""; //Write the address of the origin here public DeliveryMapInfo() { } public int getDistanceTo(string destination) { System.Threading.Thread.Sleep(1000); int distance = -1; string url = "http://maps.googleapis.com/maps/api/directions/json?origin=" + origin + "&destination=" + destination + "&sensor=false"; string requesturl = url;string content = fileGetJSON(requesturl); JObject _Jobj = JObject.Parse(content); try { distance = (int)_Jobj.SelectToken("routes[0].legs[0].distance.value"); return distance / 1000;// Distance in KMS } catch { return distance / 1000; } } protected string fileGetJSON(string fileName) { string _sData = string.Empty; string me = string.Empty; try { if (fileName.ToLower().IndexOf("http:") > -1) { System.Net.WebClient wc = new System.Net.WebClient(); byte[] response = wc.DownloadData(fileName); _sData = System.Text.Encoding.ASCII.GetString(response); } else { System.IO.StreamReader sr = new System.IO.StreamReader(fileName); _sData = sr.ReadToEnd(); sr.Close(); } } catch { _sData = "unable to connect to server "; } return _sData; } } 0 配列。下のコードを試してください。

<事前> <コード> using System; using System.Collections.Generic; using System.Linq; using System.Text; using Newtonsoft.Json.Linq; namespace Management { class DeliveryMapInfo { string origin = @""; //Write the address of the origin here public DeliveryMapInfo() { } public int getDistanceTo(string destination) { System.Threading.Thread.Sleep(1000); int distance = -1; string url = "http://maps.googleapis.com/maps/api/directions/json?origin=" + origin + "&destination=" + destination + "&sensor=false"; string requesturl = url;string content = fileGetJSON(requesturl); JObject _Jobj = JObject.Parse(content); try { distance = (int)_Jobj.SelectToken("routes[0].legs[0].distance.value"); return distance / 1000;// Distance in KMS } catch { return distance / 1000; } } protected string fileGetJSON(string fileName) { string _sData = string.Empty; string me = string.Empty; try { if (fileName.ToLower().IndexOf("http:") > -1) { System.Net.WebClient wc = new System.Net.WebClient(); byte[] response = wc.DownloadData(fileName); _sData = System.Text.Encoding.ASCII.GetString(response); } else { System.IO.StreamReader sr = new System.IO.StreamReader(fileName); _sData = sr.ReadToEnd(); sr.Close(); } } catch { _sData = "unable to connect to server "; } return _sData; } } 1

これはあなたを助けるかもしれません。

 

As we can see $rows contains again array. So you cant not echo it. Instead you have to use print_r, toecho you have to iterate $row array. Try below code.

<?php  foreach ($recorded as $rows )      {         // echo "<pre>";         // print_r ($rows);          // echo "</pre>";         foreach ($rows as $r)          {             echo "<img src='".base_url()."upload/thumbs/".$r->file_name."'/>";         }       } ?> 

this may help you.

</div
 
 
         
         
1
 
vote

を試してください <事前> <コード> using System; using System.Collections.Generic; using System.Linq; using System.Text; using Newtonsoft.Json.Linq; namespace Management { class DeliveryMapInfo { string origin = @""; //Write the address of the origin here public DeliveryMapInfo() { } public int getDistanceTo(string destination) { System.Threading.Thread.Sleep(1000); int distance = -1; string url = "http://maps.googleapis.com/maps/api/directions/json?origin=" + origin + "&destination=" + destination + "&sensor=false"; string requesturl = url;string content = fileGetJSON(requesturl); JObject _Jobj = JObject.Parse(content); try { distance = (int)_Jobj.SelectToken("routes[0].legs[0].distance.value"); return distance / 1000;// Distance in KMS } catch { return distance / 1000; } } protected string fileGetJSON(string fileName) { string _sData = string.Empty; string me = string.Empty; try { if (fileName.ToLower().IndexOf("http:") > -1) { System.Net.WebClient wc = new System.Net.WebClient(); byte[] response = wc.DownloadData(fileName); _sData = System.Text.Encoding.ASCII.GetString(response); } else { System.IO.StreamReader sr = new System.IO.StreamReader(fileName); _sData = sr.ReadToEnd(); sr.Close(); } } catch { _sData = "unable to connect to server "; } return _sData; } } 2
 

try

<?php  foreach ($recorded as $rows=>$val )      {        echo $val['file_name'].'<br/>';     }  ?> 
</div
 
 
 
 
0
 
vote

エラーを確認してください:

<事前> <コード> using System; using System.Collections.Generic; using System.Linq; using System.Text; using Newtonsoft.Json.Linq; namespace Management { class DeliveryMapInfo { string origin = @""; //Write the address of the origin here public DeliveryMapInfo() { } public int getDistanceTo(string destination) { System.Threading.Thread.Sleep(1000); int distance = -1; string url = "http://maps.googleapis.com/maps/api/directions/json?origin=" + origin + "&destination=" + destination + "&sensor=false"; string requesturl = url;string content = fileGetJSON(requesturl); JObject _Jobj = JObject.Parse(content); try { distance = (int)_Jobj.SelectToken("routes[0].legs[0].distance.value"); return distance / 1000;// Distance in KMS } catch { return distance / 1000; } } protected string fileGetJSON(string fileName) { string _sData = string.Empty; string me = string.Empty; try { if (fileName.ToLower().IndexOf("http:") > -1) { System.Net.WebClient wc = new System.Net.WebClient(); byte[] response = wc.DownloadData(fileName); _sData = System.Text.Encoding.ASCII.GetString(response); } else { System.IO.StreamReader sr = new System.IO.StreamReader(fileName); _sData = sr.ReadToEnd(); sr.Close(); } } catch { _sData = "unable to connect to server "; } return _sData; } } 3

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Newtonsoft.Json.Linq; namespace Management { class DeliveryMapInfo { string origin = @""; //Write the address of the origin here public DeliveryMapInfo() { } public int getDistanceTo(string destination) { System.Threading.Thread.Sleep(1000); int distance = -1; string url = "http://maps.googleapis.com/maps/api/directions/json?origin=" + origin + "&destination=" + destination + "&sensor=false"; string requesturl = url;string content = fileGetJSON(requesturl); JObject _Jobj = JObject.Parse(content); try { distance = (int)_Jobj.SelectToken("routes[0].legs[0].distance.value"); return distance / 1000;// Distance in KMS } catch { return distance / 1000; } } protected string fileGetJSON(string fileName) { string _sData = string.Empty; string me = string.Empty; try { if (fileName.ToLower().IndexOf("http:") > -1) { System.Net.WebClient wc = new System.Net.WebClient(); byte[] response = wc.DownloadData(fileName); _sData = System.Text.Encoding.ASCII.GetString(response); } else { System.IO.StreamReader sr = new System.IO.StreamReader(fileName); _sData = sr.ReadToEnd(); sr.Close(); } } catch { _sData = "unable to connect to server "; } return _sData; } } 4 は配列で、 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Newtonsoft.Json.Linq; namespace Management { class DeliveryMapInfo { string origin = @""; //Write the address of the origin here public DeliveryMapInfo() { } public int getDistanceTo(string destination) { System.Threading.Thread.Sleep(1000); int distance = -1; string url = "http://maps.googleapis.com/maps/api/directions/json?origin=" + origin + "&destination=" + destination + "&sensor=false"; string requesturl = url;string content = fileGetJSON(requesturl); JObject _Jobj = JObject.Parse(content); try { distance = (int)_Jobj.SelectToken("routes[0].legs[0].distance.value"); return distance / 1000;// Distance in KMS } catch { return distance / 1000; } } protected string fileGetJSON(string fileName) { string _sData = string.Empty; string me = string.Empty; try { if (fileName.ToLower().IndexOf("http:") > -1) { System.Net.WebClient wc = new System.Net.WebClient(); byte[] response = wc.DownloadData(fileName); _sData = System.Text.Encoding.ASCII.GetString(response); } else { System.IO.StreamReader sr = new System.IO.StreamReader(fileName); _sData = sr.ReadToEnd(); sr.Close(); } } catch { _sData = "unable to connect to server "; } return _sData; } } 5 というプロパティはありません。

 

Check the error:

A PHP Error was encountered | Severity: Notice | Message: Trying to get property of non-object | Filename: views/mothershop.php | Line Number: 17 

Because $rows is an array and does not have property called file_name.

</div
 
 
 
 
0
 
vote

このコードを試してみてください

<事前> <コード> $rows16
 

try This code

<?php  foreach ($recorded as $rows )      {         echo "<img src='".base_url()."upload/thumbs".$rows['file_name']."'/>";     }  ?> 
</div
 
 
0
 
vote

行に再び繰り返してみてください 結果の配列構造は2次元アレイ

ですので <事前> <コード> using System; using System.Collections.Generic; using System.Linq; using System.Text; using Newtonsoft.Json.Linq; namespace Management { class DeliveryMapInfo { string origin = @""; //Write the address of the origin here public DeliveryMapInfo() { } public int getDistanceTo(string destination) { System.Threading.Thread.Sleep(1000); int distance = -1; string url = "http://maps.googleapis.com/maps/api/directions/json?origin=" + origin + "&destination=" + destination + "&sensor=false"; string requesturl = url;string content = fileGetJSON(requesturl); JObject _Jobj = JObject.Parse(content); try { distance = (int)_Jobj.SelectToken("routes[0].legs[0].distance.value"); return distance / 1000;// Distance in KMS } catch { return distance / 1000; } } protected string fileGetJSON(string fileName) { string _sData = string.Empty; string me = string.Empty; try { if (fileName.ToLower().IndexOf("http:") > -1) { System.Net.WebClient wc = new System.Net.WebClient(); byte[] response = wc.DownloadData(fileName); _sData = System.Text.Encoding.ASCII.GetString(response); } else { System.IO.StreamReader sr = new System.IO.StreamReader(fileName); _sData = sr.ReadToEnd(); sr.Close(); } } catch { _sData = "unable to connect to server "; } return _sData; } } 7
 

try to reiterate again on the rows since the array structure of the result is 2 dimensional array

foreach ($recorded as $rows ) {      foreach ($rows as $key => $value) {         echo "<img src='".base_url()."upload/thumbs/".$value->file_name."'/>";       }  } 
</div
 
 
   
   
0
 
vote

これを試してみてください:

<事前> <コード> using System; using System.Collections.Generic; using System.Linq; using System.Text; using Newtonsoft.Json.Linq; namespace Management { class DeliveryMapInfo { string origin = @""; //Write the address of the origin here public DeliveryMapInfo() { } public int getDistanceTo(string destination) { System.Threading.Thread.Sleep(1000); int distance = -1; string url = "http://maps.googleapis.com/maps/api/directions/json?origin=" + origin + "&destination=" + destination + "&sensor=false"; string requesturl = url;string content = fileGetJSON(requesturl); JObject _Jobj = JObject.Parse(content); try { distance = (int)_Jobj.SelectToken("routes[0].legs[0].distance.value"); return distance / 1000;// Distance in KMS } catch { return distance / 1000; } } protected string fileGetJSON(string fileName) { string _sData = string.Empty; string me = string.Empty; try { if (fileName.ToLower().IndexOf("http:") > -1) { System.Net.WebClient wc = new System.Net.WebClient(); byte[] response = wc.DownloadData(fileName); _sData = System.Text.Encoding.ASCII.GetString(response); } else { System.IO.StreamReader sr = new System.IO.StreamReader(fileName); _sData = sr.ReadToEnd(); sr.Close(); } } catch { _sData = "unable to connect to server "; } return _sData; } } 8
 

try this:

$baseUrl = base_url(); foreach ($recorded as &$rows) {     foreach ($rows as &$row) {         echo '<img src="'.$baseUrl.'upload/thumbs/'.$row->file_name.'"/>';     }  } 
</div
 
 

関連する質問

2  ヘルプw / codeigniter __construct()  ( Help w codeigniter construct ) 
ユーザーがログインしているかどうかを確認しています。ここでのクラスのすべての私の関数で利用できるいくつかの変数を設定したい場合は、これまでのコードです。 $ LOGGED_INまたは$ user_nameから、Viewの結果から未定義の変数になりますか?助けて...

17  クライアント側またはサーバーサイドの処理?  ( Client side or server side processing ) 
だから、私は動的なWebデザインに新しい(私のサイトがPHPとほとんど静的でした)、そして私はWeb開発で最新の技術を学びようとしています(これはAjaxであるようです)、そして私は疑問に思っていましたデータをたくさん転送している場合は、サーバー上のページを構...

0  コントローラセキュリティの質問におけるコードイグナイター認証コード  ( Code igniter authentication code in controller security question ) 
私の認証システムの非常にフロントエンドを処理するための主なコントローラを持っています、ログイン、ログアウト、ユーザー情報の更新などを処理します。ビュー/フォームからの投稿による呼び出しを予測します。 "delete_user"関数のようなものはどうですか?私の...

5  URLエラーを使用してコントローラに変数を渡すコードイグニタ  ( Code igniter passing variable to controller using url error ) 
このように、GETステートメントのようなURLを介して変数を渡したいコードイグナイター・プロジェクトを作成しています。 URL:/サイト/ケーキ/ 1 コントローラ機能:ケーキ($ var) しかし、変数が空白のままになっているとき、私はエラーを受け取りま...

2  未定義の関数anchor()内の呼び出し  ( Call to undefined function anchor in ) 
こんにちは私は<コード> PHP フレームワークの<コード> codeIgniter に登録されています。ヘルパーファイルですが、何らかの理由で私のコードが動作していないだけでなく、このエラーが発生し続けます: <事前> <コード> Fatal error: ...

2  多次元配列  ( Multidimensional arrays ) 
CodeIgniterでは、次のモデルがあります。 <事前> <コード> function get_item_history($id) { //from metadata_history get item_id and corresponding m...

0  PHPはオブジェクトの中にあるアレイのバリューを取得します  ( Php getting valuse of arrays that are inside objects ) 
このような問合せを実行しています。 <事前> <コード> int i = 0xDEADBEEF; // what can go wrong? 5 このようなオブジェクトを返します: <事前> <コード> {if cond}foo{/if} 16 これを使用...

2  同じフレームワークディレクトリからCodeIgniterを持つ複数のアプリケーション?  ( Multiple applications with codeigniter from same framework directory ) 
1つのCodeIgniter Frameworkディレクトリを使用して複数のアプリケーションを作成できますか? 原因別のアプリケーションに対して別々のCodeIgniterフォルダインスタンスを持つ必要があるようです。私は一箇所でいくつかのコードを調整できる...

3  PHP(CodeIgniter)ベースの求人ボードのための良い検索サービス?  ( Good search services for a php codeigniter based job board ) 
コンテンツを索引付けして検索する良いサードパーティのライセンスベースまたはオープンソース検索サービス(Yahoo Bossなど)を知っていますか? CodeIgniterにニッチ求人ボードを作成しています。私の検索がPHPにありません。 コンテンツの精製と...

0  CodeIgniterに関する問題。 DX_AUTHデプロイ時に機能しない  ( Problem with codeigniter dx auth not working when deployed ) 
だから現在、CodeIgniter + DataMapper overealous Edition + DX認証を使用しています。それは私達の地元のマシン、そして私達のステージングサーバーに取り組んでいます。ただし、サーバーにプッシュするとすぐに、ログインはま...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有