使用数组中的值动态输入

时间:2013-12-03 21:24:46

标签: php

我希望使用与第二个数组值对应的值动态输入。

代码:

$first = array('location', 'genre', 'studio', 'Lord_Of_the_Rings');
$second = array(
    'location' => 1, 
    'genre' => 2, 
    'studio' => 3, 
    'Lord_Of_the_Rings' => 4
);


$intersect = array_intersect($first, array_keys($second));
foreach($intersect as $key) {
    $t =  $second[$key];
}

foreach ($first as $the_tax) {

    $do_val = $the_tax.'-no-';

    echo "<p>$the_tax <input type=\"text\" name=\"{$do_val}\" value=\"$t\" /></p>";
}

输出:

<p>location <input type="text" value="4" name="location-no-"></p>
<p>genre <input type="text" value="4" name="genre-no-"></p>
<p>studio <input type="text" value="4" name="studio-no-"></p>
<p>Lord_Of_the_Rings <input type="text" value="4" name="Lord_Of_the_Rings-no-"></p>

如您所见,每个输入的值都是4。 在这种特殊情况下,输入值应为1,第一个2,第三个3,第三个4,第四个{{1}},我无法做到这一点。

1 个答案:

答案 0 :(得分:0)

你在foreach中设置了$ t,但是当它到达下一个循环时,它只会有最后一个值。

你能不能这样做:

$first = array('location', 'genre', 'studio', 'Lord_Of_the_Rings');
$second = array(
    'location' => 1, 
    'genre' => 2, 
    'studio' => 3, 
    'Lord_Of_the_Rings' => 4
);


foreach ($first as $the_tax) {

    $do_val = $the_tax.'-no-';

    echo "<p>$the_tax <input type=\"text\" name=\"{$do_val}\" value=\"{$second[$the_tax]}\" /></p>";
}