2012-03-01 29 views
0

で値を取る:PHPの私はこのコードを持っている配列

はいはいドスを、テンゴエステcódigoYなし私ESTA funcionando:

<?php 
$adm['web'] = "www.tuweb.com"; 
$adm['titulo'] = "Mi título web"; 
$campos = array('adm[web]','adm[titulo]'); 
for ($i=0; $i<count($campos); $i++) { 
?> 
    /* add values in each field in the value="" */ 
    <input type="text" name="<?php echo $campos[$i]; ?>" value="<?php echo ${$campos[$i]}; >"/> 
<?php } ?> 

各フィールドを生成するとき、私はit'sを持っている問題で、各フィールドがない作品値の値で=「」値を追加するために、これだけ問題

Thank'sすべてのコラボレーションのために、よろしくダーティ

+1

質問では明らかではない、どのような '$のcampos'配列にして知られているディメンション値を加算した目的は?なぜそれを直接使用しないのですか? – Ashraf

答えて

0

けれども、しかし、あなたは行うことができます:

 

echo eval('return $'. $campos[$i] . ';'); 
 

だから、次のようになります。

 

<input type="text" name="<?php echo $campos[$i]; ?>" value="<?php echo eval('return $'. $campos[$i] . ';');?>" /> 
 
2

${$campos[$i]}${adm[web]}と評価されます。変数「adm[web]」はありません。 "adm"という名前の変数があります。この変数には "web"という名前のキーがあります。可変変数補間はこれを解決できません。

解決策は、試みている複雑な回避策の代わりに$campos = array($adm['web'], $adm['titulo'])を使用することです。

0
<?php 
    echo eval('return $'.preg_replace('~(?<=\[)(.*?)(?=\])~',"'$1'",$campos[$i]).';') 
?> 
1

あなたが値になるように、配列変数名とその値としてテキストフィールドに名前を付ける場合にのみ、これはあなたが

<?php 
$adm['web'] = "www.tuweb.com"; 
$adm['titulo'] = "Mi título web"; 
$campos = array('adm[web]'=>$adm['web'], 'adm[titulo]'=>$adm['titulo']); 
foreach($campos as $key=>$value){ 
?> 
    <input type="text" name="<?php echo $key; ?>" value="<?php echo $value; ?>" /> 
<?php } ?> 

が、これは[ADM [ウェブ]やADMを設定します欲しいものかもしれtitulo】テキストフィールド名

より良いアプローチがフィールドnを設定します

<?php 
$adm['web'] = "www.tuweb.com"; 
$adm['titulo'] = "Mi título web"; 
$campos = $adm; 
foreach($campos as $key=>$value){ 
?> 
    <input type="text" name="<?php echo $key; ?>" value="<?php echo $value; ?>" /> 
<?php } ?> 

になり{魚音}エイムズは、配列のキー、すなわち「ウェブ」と「titulo」

希望としてこれはあなたの場合に役立ちます

関連する問題