我正在使用PHP和HTML创建一个随机音符生成器。我已将音符的所有位置放在css文件中,并希望做到这样的事情:
echo 'div id=note_array[rand_numbs[1]] class="note_1st"> ♩ </div>';
音符数组提供类似id =“E”或id =“A”的内容。当然,它不起作用。无论如何将echo中的变量作为标记的id传递?
答案 0 :(得分:2)
您在连接和open div中都有错误,我猜note_array[rand_numbs[1]]
是一个数组,应该是$note_array['rand_numbs'][1]
echo '<div id="'.$note_array['rand_numbs'][1].'" class="note_1st"> ♩ </div>';
我更喜欢用这种方式写它
echo "<div id='{$note_array['rand_numbs'][1]}' class='note_1st'> ♩ </div>";
答案 1 :(得分:0)
尝试echo 'div id='.note_array[rand_numbs[1]].' class="note_1st"> ♩ ';
答案 2 :(得分:0)
我认为你应该像这样回应它:
echo 'div="' . note_array[rand_numbs[1]] . '" class="note_1st"';
使用点表示法,您可以将包含变量或数组的字符串“粘合”在一起,就像您在这里一样。
答案 3 :(得分:0)
而不是:
echo 'div id=note_array[rand_numbs[1]] class="note_1st"> ♩ </div>';
使用它:
echo 'div id="' . note_array[rand_numbs[1]] . '" class="note_1st"> ♩ </div>';
您需要将id的值括在引号中,也可以使用点表示法来解决问题。
此外,您可以在php中的任何字符串处使用点表示法。
答案 4 :(得分:0)
使用echo,您可以使用点(。)和逗号(,)。这最后有时比点更实际。使用它编写代码更容易。此外,您并不总是需要连接,您可以获得更好的性能(少数)。
当然,如果您忘记了$
,您的代码也无效。我想像Emilio Gort一样,note_array
实际上是一个var(一个数组)。所以,为了解决你的问题,我认为你可以这样做:
echo '<div id="',$note_array['rand_numbs'],'" class="note_1st"> ♩ </div>';
您没有提及阵列的内容。我不清楚。因此,您可能需要添加一些更改,例如:
echo '<div id="',$note_array['rand_numbs']['1'],'" class="note_1st"> ♩ </div>';
echo '<div id="',$note_array['rand_numbs']['SomethingeElse'],'" class="note_1st"> ♩ </div>';
您可以使用['1']
或[1]
。这两种语法都有效。第一个应该是允许更好的表现。