2012-03-08 10 views
1

こんにちは私はいくつかの質問をしています。 まず、私の英語はとてもいいとは言えません。申し訳ありません。配列内にvarを作成

私の問題がある:私のPHPスクリプトで

は、いくつかのバールは、ユーザーが自分のページをご覧場合VARSはinitになります

var $_email = 'no'; 
var $_fname = 'no'; 
var $_lname = 'no'; 

など

のようなものです。今はvarsを自動化したいと思っています。 SQL列配列...などからの:

$query = "SHOW COLUMNS FROM user"; 
$result = mysql_query($query); 
while ($row = mysql_fetch_assoc($result)) { 
    $column[] = $row["Field"]; 
} 

foreach($column as $value) 
{ 
var $value = 'no'; 
} 

誰かが私が何を意味するか理解していれば、私を助けてください..

+0

私が行ったクエリは '\t \t $ query ="ユーザーからの表示 "です。 \t \t $ result = mysql_query($ query); \t \t while($ row = mysql_fetch_assoc($ result)){ \t \t $ column [] = $ row ["Field"]; \t \t} – fteinz

+0

なぜそれが必要ですか? –

答えて

0

私はVariable variablesと呼ばれるものを使用したいと思います(私は奇妙に思えます)。私はこれをお勧めしません

$column = array('_email', '_fname', '_lname'); 

foreach($column as $value) 
{ 
    $$value = 'no'; 
} 

echo $_email . '<br>'; 
echo $_fname . '<br>'; 
echo $_lname . '<br>'; 

しかし心の中で裸:

は、ここでの例です。 associative arraysを使用する方がはるかに良いアプローチです(ashes999の応答は正しい選択です)。 - 一つの場所ですべて

$column = array('_email', '_fname', '_lname'); 

foreach($column as $value) 
{ 
    $arrValues[$value] = 'no'; 
} 

echo $arrValues['_email'] . '<br>'; 
echo $arrValues['_fname'] . '<br>'; 
echo $arrValues['_lname'] . '<br>'; 

一つの変数($ arrValues):

はここで連想配列と同じ例です。

Arrays can be very powerfulあなたがそれらを使用する方法を学ぶならば。そして、PHPは連想配列を持っているという贅沢さを持っています。

また、PHPで変数を宣言する場合、キーワードvarは必要ありません。それはJavaScriptなどの他の言語でもあります。

私はこれが助けてくれることを願っています。

+0

えー、ダウンフラッグ。しかし、私は可変変数は行く方法ではないと述べました。単なるアプローチであり、他の言語にはないPHPの興味深い機能です。 – talereader

+0

そして、私は連想配列の贅沢を持つことを意味しました。たとえば、配列を含むタスク(連想配列を知らないDelphi 7)を実行しようとすると、非常に苦労することがあります。 PHPコードの3行は、Delphiで同等の20行になることがあります。 – talereader

1

あなたは、キー/値のアプローチで行くことができます。データベースを照会するときは、値を連想配列に保管してください。

例えば、あなたが実行した場合:

someArray['email'] = $result['email']; 
someArray['fName'] = $result['fName']; 
someArray['lName'] = $result['lName']; 

または類似のもの:

SELECT email, fName, lName FROM ...

を、あなたはとして保存します。

+0

私は次のような列を取得します...$ query = "ユーザーから列を表示する"; \t \t $ result = mysql_query($ query); \t \t while($ row = mysql_fetch_assoc($ result)){ \t \t $ column [] = $ row ["Field"];すべての列は「いいえ」を含むvarになります。 \t \t} – fteinz

関連する問題