2015-05-07 4 views
0
foreach ($tbl_one_data as $row_) { 
     $id = (int) $row_ [0]; 
     $time = mysql_real_escape_string ($row_ [1]); 
     $callid = mysql_real_escape_string ($row_ [2]); 
     $queuename = mysql_real_escape_string ($row_ [3]); 

     $arrayValues [] = "($id, '$time','$callid','$queuename',"; 
    } 
} 

Я пытаюсь улучшить приведенный выше код следующим кодом:Добавление динамических переменных в массив

$b = 0; 
     foreach ($tbl_one_data as $row_) { 
      if ($b < count ($row_)) { 
       ${"var" . $b} = mysql_escape_string ($row_ [$b]); 
       $b ++; 
      } 
     } 

Мой вопрос, как бы я добавить динамические переменные, созданные в массив постепенно, чтобы достичь чего-то например: $arrayValues [] = "('$var0','$var1','$var2','$var3'"; ??

$arrayValues [] = "('${"var" . $b}',";, похоже, не имеет такого же эффекта, как в моем первом фрагменте кода.

+0

Кроме того, откройте функции * mysql_ * и используйте ** mysqli _ ** или перейдите в OO PHP с ** PDO **. * MySQL_ * funtions *** устарели *** и больше не должны использоваться. – Martin

ответ

1

Я считаю, что это то, что вы просите:

foreach ($tbl_one_data as $row_) { 
    $arrayValues [] = "('" . implode("','", $row_) . ","; 
} 

Все элементы в $ row_ объединяются вместе в string by implode(), используя запятую и одинарные кавычки как «клей».

Если это не поможет или не то, что вы хотели, оставьте комментарий, и мы постараемся получить лучшую обратную связь.

+0

Удивительно простой, но очень эффективный. Благодарю. – b0w3rb0w3r

0

Вы можете сделать это, просто используя код ниже:

foreach ($tbl_one_data as $row_) { 
    $newArr = array(); 
    $newArr[] = (int) $row_ [0]; 
    $newArr[] = mysql_real_escape_string ($row_ [1]); 
    $newArr[] = mysql_real_escape_string ($row_ [2]); 
    $newArr[] = mysql_real_escape_string ($row_ [3]); 

    $arrayValues [] = $newArr; 
} 
Смежные вопросы