Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP抓取数组以创建代码行_Php_Html - Fatal编程技术网

PHP抓取数组以创建代码行

PHP抓取数组以创建代码行,php,html,Php,Html,我想创造一些简单的东西。由于我是PHP新手,我很难看出我做错了什么,。下面的代码片段中有两个PHP文件内容,以及我希望实现的静态代码 PHP浇头 PHP数组 我希望创建的静态代码 额外的奶酪 西红柿 橄榄 蘑菇 鸡 莫泽雷勒干酪 意大利腊肠 洋葱 意大利 辣味 香肠 馅饼皮 肉丸 培根 火腿 虾 是的,我已经确保toppings.php文件和arrays.php文件连接到索引文件 提前感谢您的帮助,如果您仍然不确定我想要实现什么,请随时给我发消息。您使用的是双引号“内双引号” 感谢您,

我想创造一些简单的东西。由于我是PHP新手,我很难看出我做错了什么,。下面的代码片段中有两个PHP文件内容,以及我希望实现的静态代码

PHP浇头

PHP数组

我希望创建的静态代码
额外的奶酪
西红柿
橄榄
蘑菇
鸡
莫泽雷勒干酪
意大利腊肠
洋葱
意大利 辣味 香肠
馅饼皮
肉丸
培根
火腿
虾
是的,我已经确保toppings.php文件和arrays.php文件连接到索引文件


提前感谢您的帮助,如果您仍然不确定我想要实现什么,请随时给我发消息。

您使用的是双引号
内双引号

感谢您,如果您的值(如
$item
)本身可能包含一个单引号
,那么您必须用反斜杠
\“
转义内部双引号


混合使用字符串和PHP代码会让人感到困惑,尤其是当您使用双引号时,将HTML字符串(通常包含双引号)放在单引号中以及这些字符串之外的PHP表达式更容易:

foreach ($toppingItems as $item) {
    echo '<label class="hover topping" for="c'.$item['number'].
        '"><input class="items" onclick="findTotal()" type="checkbox" '.
        'name="topping" value="1.00" id="c'.$item[number].'">'.
        $item[title].'</label>';
}
foreach($toppingItems作为$item){
回显“”。
$项目[标题]。';
}
重复以下内容:

echo '<label class="hover topping" for="c'.$item['number'].'"><input class="items" onclick="findTotal()" type="checkbox" name="topping" value="1.00" id="c'.$item['number'].'">'.$item['title'].'</label>';
echo'.$item['title'].';
您的代码

foreach ($toppingItems as $item) {
    echo "<label class="hover topping" for="c$item[number]"><input class="items" onclick="findTotal()" type="checkbox" name="topping" value="1.00" id="c$item[number]">$item[title]</label>";
}
foreach($toppingItems作为$item){
回显“$item[标题]”;
}
包含一个错误:

不能在双引号的PHP字符串中使用未转义的双引号

尝试:



使用
$item['number']
而不是
$item[number]
@A.L.恐怕仍然会收到错误解析错误:语法错误,意外的T_字符串,在C:\Program Files(x86)中应为“,”或“;”\Ampps\www\pizza website\includes\toppings.php在代码的“echo”行的第3行
相信我,这是一个报价问题。这更好
class=\“hover-topping\”
等。“我正在寻找创建的静态代码
class=“hover-topping”
“-如果您真的希望它们像我上面所示的那样被呈现为双引号,请转义双引号。良好的开发环境可以帮助您防止此类问题。在编写代码时,安装了适当扩展名的IDE或文本编辑器将突出显示这样的语法错误。或者,它们可以为=\“c$item[number]\”
转义,如果值中有引号会更好。我总是喜欢用双引号呈现HTML;-)例如,
class='Bill's topping'
将失败,如果是这样的话,HTML源代码将显示一个关于的通知。仅供参考。多年来我一直在讨论这个问题,最近我喜欢
中的声明式HTML/SQL和
中的produral JS/PHP“
,然后在必要时逃离第三层。希望我明天不会改变主意:)我上周从一个包含单引号的数据库中提取数据时发现了这一点,我想知道为什么我的代码(有点)失败了;那是因为我用了单引号。活到老学到老,嗯?哈哈哦,好吧,曾经买不到经验;-)我只是在查看HTML源代码时才发现它;它本身就是一个工具。@a.L当它在一个双引号内时是的,@Fred ii-你是对的-我不止一次被那个双引号咬过,转义的引号是最正确的,尽管不是非常漂亮。我将简短地更新我的答案。您需要在PHP.ini中启用PHP短标记,用于
“您不能在双引号的PHP字符串中使用双引号。”-如果您对它们进行转义,您可以这样做,这需要更多的工作,但这是一个我偶尔喜欢在特殊情况下使用的首选项。Barmar:始终从PHP 5.4开始工作请参见:
echo "<label class="hover topping" for="c$item[number]"><input class="items" onclick="findTotal()" type="checkbox" name="topping" value="1.00" id="c$item[number]">$item[title]</label>";
echo "<label class='hover topping' for='c$item[number]'><input class='items' onclick='findTotal()' type='checkbox' name='topping' value='1.00' id='c$item[number]'>$item[title]</label>";
echo "<label class=\"hover topping\" for=\"c$item[number]\"><input class=\"items\" onclick=\"findTotal()\" type=\"checkbox\" name=\"topping\" value=\"1.00\" id=\"c$item[number]\">$item[title]</label>";
echo '<label class="hover topping" for="c'.htmlentities($item['number']).'"><input class="items" onclick="findTotal()" type="checkbox" name="topping" value="1.00" id="c'.htmlentities($item['number']).'">'.htmlentities($item['title']).'</label>';
foreach ($toppingItems as $item) {
    echo '<label class="hover topping" for="c'.$item['number'].
        '"><input class="items" onclick="findTotal()" type="checkbox" '.
        'name="topping" value="1.00" id="c'.$item[number].'">'.
        $item[title].'</label>';
}
echo '<label class="hover topping" for="c'.$item['number'].'"><input class="items" onclick="findTotal()" type="checkbox" name="topping" value="1.00" id="c'.$item['number'].'">'.$item['title'].'</label>';
foreach ($toppingItems as $item) {
    echo "<label class="hover topping" for="c$item[number]"><input class="items" onclick="findTotal()" type="checkbox" name="topping" value="1.00" id="c$item[number]">$item[title]</label>";
}
<?php foreach ($toppingItems as $item) { ?>
    <label class="hover topping" for="c<?= $item[number] ?>">
        <input class="items" onclick="findTotal()" type="checkbox" name="topping" value="1.00" id="c<?= $item[number]?>"><?= $item[title] ?>                 
    </label>
<?php } ?>
<?= $item[number] => 
<?php echo $item[number] ?>