2016-10-12 30 views
0

phpの数値列から値を取得しようとしていますが、これまでのところ成功していません。私は結果を印刷することができるよクエリ列番号から値を取得

SELECT * FROM table 

、およびすべてを実行し(実際にはlaravel)私はphp

id name someotherfield 200 404 500

msql表にこれらの列を持っていると仮定すると

結構です。これは、(私のためにオブジェクトや配列を使用して、同じれる)私が試したものですempty

私は数という名前のフィールドから単一の値を取るしようとした場合

Log::debug($row) 

今、PHPは失敗し、常に返されます:

$row->{200} // empty 
$row[200] // empty, of course 

$field = 200; 
$row[$field]; // empty 
$row["$field"]; // empty 
$row->$field // empty 

これを行う方法はありますか?おかげさまで

編集(私のコード): あなたは100フィールドが2

値としてPHP持って見ることができるように(何らかの解決策が有効である、オブジェクトまたは配列を心配しないでください:

$row = \App\APIList::first(); 

Log::debug($row); 
Log::debug("My value is: " . $row['100']); 
Log::debug("My value is: " . $row->{'100'}); 
Log::debug("My value is: " . $row[100]); 

echo "My value is: " . $row['100'] . "<br />"; 
echo "My value is: " . $row->{'100'} . "<br />"; 
echo "My value is: " . $row[100] . "<br />"; 

ログを:

[2016-10-12 09:51:43] local.DEBUG:  {"id":1,"function_name":"xxx","verb":"POST","usage":"xxx","call_body":"xxx ","headers":null,"isReady":1,"used":0,"failures":0,"reason":null,"last_error":null,"100":2,"101":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"300":0,"301":0,"302":0,"303":0,"304":0,"305":0,"306":0,"307":0,"308":0,"400":0,"401":0,"402":0,"403":0,"404":0,"405":0,"406":0,"407":0,"408":0,"409":0,"410":0,"411":0,"412":0,"413":0,"414":0,"415":0,"416":0,"417":0,"418":0,"422":0,"426":0,"449":0,"451":0,"500":0,"501":0,"502":0,"503":0,"504":0,"505":0,"509":0,"created_at":"2016-10-12 09:03:29","updated_at":null} 
[2016-10-12 09:51:43] local.DEBUG: My value is: 
[2016-10-12 09:51:43] local.DEBUG: My value is: 
[2016-10-12 09:51:43] local.DEBUG: My value is: 

ECHO:

My value is: 
My value is: 
My value is: 

編集2:

PHP:

if ($row->{'100'} > 0) { 
    Log::debug("Ok, got it"); 
} else { 
    Log::debug("No way"); 
} 

ログ:

[2016-10-12 10:01:59] local.DEBUG: No way 
+1

「$ row ["200"] ' – Naruto

+0

<?$ a = array( "200" => array( "id" => 2、 "name" => "hello")); \t echo $ a ["200"] ["id"]; ?>これをご理解ください。 –

答えて

2

ちょうど引用符で数値をラップ:配列

ある

$row場合echo $row['200'];

連想配列と同じ方法で扱います。番号200は、例えば

のための文字列のキー「foo」で違いはありませんそして、それは、オブジェクトの場合:

echo $row->{'200'};

+0

それは私のものかどうかわからない、私の有効なコードでメインスレッドを更新する –

+0

@GummaMocciaro Ok、 '$ row'はオブジェクトです。 '$ row - > {'100'}'だけ試してみてください。これは正しい構文ですが、それ以外はすべて失敗します。何が起こるかを見てください – dimlucas

+0

私はあなたが私のログ/コード(編集されたメインスレッド)で見ることができるようにそれをしました –

関連する問題