Оператор приращения php при ожидании строки

Я не уверен, почему следующее происходит в php

<?php

//make the array first

$example = array();
$i = 0;
while($i < 10) {  
  $example[$i++] = $i;
}   
var_dump($example);
//looks good here. As expected
$i = 0;
while ($i < 10) {
  $example[$i] = $i . " " . $example[$i++];
}

var_dump($example);
//this one should contain each of the values again for example
$expected = array(
  "0 0",
  "1 1",
  "2 2",
  //etc
);

Делая то же самое в Java

public class append
{
  public static void main(String[] args) {
    String[] array = new String[10];
    int i = 0;
    while (i < 10) {
      array[i] =  i++  + "";
    }
    i = 0;
    while (i < 10) {
      array[i] = i + " " + array[i++];
    }

    i = 0;
    while(i < 10) {
      System.out.println (array[i++]);
    }
  }
}

Это возвращает правильно, единственное, что я могу думать, это приоритет оператора. Это потому что [ вне рядов ++ в PHP и в Java ++ опережает все?

Извините, есть много кода, думал, что это объяснит лучше, чем я

0 ответов

Другие вопросы по тегам