我怎样才能使这个程序正确地格式化字符串?PHP - 嵌套循环

How can I make this programme format the string properly? PHP - Nested For Loop

提问人:Geraud Greyling 提问时间:11/19/2022 最后编辑:Geraud Greyling 更新时间:11/19/2022 访问量:19

问:

<?php
$list = ['a', 'b', 'c']; 
$count = [1, 3, 5];

function stringFormatter($c, $i) {
    return "Char is $c & Int is $i"; 
}

for ($i = 0; i < $list; $i++) {
    for ($j = 0; $j < $count; $j++) {
        $string = stringFormatter($list[$i], $count[$j]);
        print $string;
    }
}
?>

这是我重写的示例代码,用于演示我在程序中遇到的一个问题,在该程序中,我想分配一个格式化的字符串,具有 char 和 int 的正确组合,以便能够使用所述字符串执行 SQL 语句。理想的情况是获取一个字符串,该字符串在各自列表中的该位置同时具有 char 和 int 的组合。例如,“Char is a & Int is 1”。它目前没有编译,当我将其插入“在线PHP沙盒”时,我收到错误消息:“内部服务器错误[500]。欢迎任何关于我如何让它工作的建议,甚至是其他建议!提前致谢!

php for-循环 嵌套

评论


答:

1赞 barryA 11/19/2022 #1

for ($i = 0; i < $list; $i++) { for ($j = 0; $j < $count; $j++) {

这里有一些语法错误 - 注意缺少的 $(查看外部循环内的 i)。您可能是指使用内置计数函数的 $i<count($list)。同样,在内部循环中,您使用 $j<$count 引用 $count 数组 - 您的意思是 $j<count($count) 还是使用外部数组作为内部元素的索引,即 $j < $count[$i]。

更一般地说,php 中内置了一组函数,可以更好地处理将值传递到 mysql(等)中 - 您可能应该考虑使用这些函数 - 使用 php 和 mysqli 搜索“sanitising”。

评论

0赞 Geraud Greyling 11/19/2022
除了令人尴尬地省略 $ 符号之外,将 count() 函数添加到两个 for 循环中都给了我预期的结果!谢谢!