【问题标题】:Fetching incremental strings using a FOR loop (PHP)使用 FOR 循环 (PHP) 获取增量字符串
【发布时间】:2020-02-05 05:23:49
【问题描述】:

我想要做的是使用 FOR 循环来获取并显示已经从表单提交的字符串的值。

我已经尝试了以下代码(生成的目的是为了让您了解我想要实现的目标),但它不起作用。我也尝试过各种手册,但它们似乎关心的是增量处理字符串的 VALUE 而不是字符串本身。

我搜索过 Google 和各种论坛。我还检查了我的 PHP 入门,但它不包含答案。

    $clip1="A";
    $clip2="B";
    $clip3="C";
    $clip4="D";
    $clip5="E";
    $clip6="F";
    $clip7="G";
    $clip8="H";
    $clip9="I";
    $clip10="J";

    for ($t=1; $t<=10; $t++)

    {echo "$clip[$t]";}

我期待上面的代码依次获取每个字符串的值。我期待的是这样的;

ABCDEFGHIJ

我没有收到任何错误。我的代码什么也没产生。我做错了什么?!

非常感谢,提前。

【问题讨论】:

  • 开启报错功能!你的变量$clip1, $clip2...$clip10 是类型string - 然后在你的循环中你引用一个未定义的array 类型变量$clip[]... 这不起作用 - 你的错误报告应该告诉你你有一个未定义的变量 $clip[ ]...

标签: php string loops for-loop


【解决方案1】:

您可能正在尝试使用PHP's variable variables,在这种情况下您需要稍微更改一下语法:

$var = "clip$t"
echo $$var;

如果你使用数组代替,事情会干净得多:

$clips = [
  'A', 'B', 'C', 'D', 'E', 'F',
  'G', 'H', 'I', 'J',
];

foreach ($clips as $clip) {
  echo $clip;
}

// Or...

for ($t = 0; $t < count($clips); $t++) {
    echo $clip[$t];
}

【讨论】:

  • 谢谢你们!我怎么没想到?!我认为问题在于我不知道该怎么称呼我正在尝试做的事情,因此发现自己在一些令人困惑的道路上跌跌撞撞。你已经解决了。非常感谢。
【解决方案2】:
$clip1="A";
$clip2="B";
$clip3="C";
$clip4="D";
$clip5="E";
$clip6="F";
$clip7="G";
$clip8="H";
$clip9="I";
$clip10="J";

for($t=1; $t<=10; $t++){
    echo $clip.$t."<br />";
}

当然,就像@Unimportant 所说,您最好将它们存储在一个数组中:

//fill the array
$clip = [];
foreach(range("A", "J" as $char){
   clip[] = $char;
}

//print the array
foreach($clip as $char){
    echo $char."<br />";
}

【讨论】:

  • 谢谢大家。我现在已经解决了。没有你就不可能做到。
猜你喜欢
  • 2013-01-11
  • 2019-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-31
  • 2017-12-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多