6
(I'm a beginner)

私のスクリプトは標準を使用しています

$c = 0;
$t = count($array);

while ($c < $t) {
  $blah = $array[$c];
  ++$c;
}

かなり広範囲に。しかし、私も必要な状況に遭遇しましたarray_diff。数値キーにギャップがあるため、すべてが地獄に落ちます。Undefined offsetいたるところにエラーが発生しています。

配列の数値キーをリセットするにはどうすればよいですか?配列内のオブジェクトの順序は関係ありません。

4

3 に答える 3

28

キーをリセットするには、次を使用できますarray_values()

$array = array_values($array);
于 2010-03-04T12:11:30.527 に答える
8

配列のキーをリセットする必要はありません。配列を通過する方法を変更する必要があります。

ループを使用してインデックスで配列要素にアクセスする代わりにwhile、配列から要素のみを取得する foreach ループを使用する必要があります。

foreach ($array as $key => $value) {
    // $key contains the index of the current element
    // $value contains the value of the current element
}
于 2010-03-04T12:12:08.200 に答える
2

たつさん、ありがとうございます。

念のために、賢明な回答を待っている間に私が使用した次の馬鹿げたハックを共有します。

$badArray = array_diff($allData, $myData);

$string = implode(",",$badArray);

$dump = explode(",",$string);

$goodArray = $dump;

働きました。私はすべて汚いと感じましたが、うまくいきました。

于 2010-03-04T12:14:37.447 に答える