【问题标题】:My loop produces the same vaues each time - why?我的循环每次都会产生相同的值 - 为什么?
【发布时间】:2016-03-29 16:41:13
【问题描述】:

我的 foreach 循环结果是

$a = 12; $a = 12; $a = 12; // 一些进程 // 一些进程 // 一些进程

我不明白它的原因。

检查.php

  $lineGroup = array();
 if ($readfile) {
     while (FALSE !== ($line = fgets($readfile))) {
           if (strpos($line, 'function') !== false) {

                 while (FALSE !== ($line = fgets($readfile))) {
                         $lineGroup = array($line);                                  
                         break;

                  }
      }

checkfunction.php

global $lineGroup;
foreach ($lineGroup as $lg) {
    echo $lg;
}

【问题讨论】:

  • 你能详细说明你的问题吗??
  • 请在您的问题中分享完整的代码。
  • 我认为您有一个具有相同值的数组并且您想要唯一的结果集?对吗?
  • 在你的阵列上简单地使用array_unique($your_array,SORT_REGULAR);,在循环之前
  • array_unique 不起作用...我得到了相同的结果@Uchiha

标签: php loops foreach


【解决方案1】:

您需要将一行作为元素添加到数组中。

所以,你不需要array(),而是array_push()

int array_push ( array &$array , mixed $value1 [, mixed $... ] )

或者在你的情况下,

array_push($lineGroup, $line);

你也可以使用

$lineGroup[] = $line;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多