php 문법 관련 간단한 질문요

bloody의 이미지

간단한 php 문법좀요
<?php

...
$tmp_array = array();
for($i = 0; $i < count($id_array); $i++)
{
$tmp_value = (string)$i;

array_push($tmp_array, $tmp_value);
}

?>
위처럼 하면 이상하게 tmp_array 배열에 3 3 3 이렇게 마지막 값만 들어갑니다.

내가 하고 싶은게 배열에 숫자로 0부터 쭉 하나씩 증가시킨 값을 넣어줄려고 하는데 어떻게 해야하죠?

김정균의 이미지

예제 코드를 좀 더 정확하게 주셔야 할 듯 싶은데요. 위의 예제는 count($id_array) 가 int 형으로 잘 반환만 된다면 정상 동작 할 것 같습니다. 예를 들어

<?php
$tmp_array = array();
#for($i = 0; $i < count($id_array); $i++)
for($i = 0; $i < 10; $i++)
{
    $tmp_value = (string)$i;
 
    array_push($tmp_array, $tmp_value);
}
 
var_dump ($tmp_array);
?>

위와 같이 수정해서 동작 시키면

array(10) {
  [0]=>
  string(1) "0"
  [1]=>
  string(1) "1"
  [2]=>
  string(1) "2"
  [3]=>
  string(1) "3"
  [4]=>
  string(1) "4"
  [5]=>
  string(1) "5"
  [6]=>
  string(1) "6"
  [7]=>
  string(1) "7"
  [8]=>
  string(1) "8"
  [9]=>
  string(1) "9"
}

와 같이 원하시는 대로 결과가 나옵니다.