PHP - добавить строку в массив - PullRequest
2 голосов
/ 25 августа 2010

Мне интересно, как я могу добавить строковую переменную в текущий массив.Например, у меня есть массив с именем $finalarray.Затем у меня есть цикл, который добавляет значение при каждом запуске.В основном:

$finalarray = $results_array + string;

Очень базовая структура.Я использую это для MySQL, чтобы я мог получить окончательный массив столбца.

$query = "SELECT * FROM table";
$showresult = mysql_query($query);

while($results_array = mysql_fetch_assoc($showresult))
{
  $finalarray =  $finalarray + $results_array["column"];
}

Редактировать:

В настоящее время используется этот код (все еще не работает):

    $query = “SELECT * FROM table”;
$showresult = mysql_query($query);

while($results_array = mysql_fetch_assoc($showresult))
{
  $finalarray[] = $results_array["name"];
}

echo $finalarray;

Проблема в том, что он просто говорит "Массив"

Спасибо,

Кевин

Ответы [ 6 ]

4 голосов
/ 25 августа 2010

Ответ на ваш edited вопрос:

Вы не можете использовать только один echo для печати всего содержимого массива. Вместо

Использование

var_dump($finalarray);

или

print_r($finalarray);

чтобы напечатать содержимое массива ..

4 голосов
/ 25 августа 2010

Используйте обозначение []. + предназначен для объединения двух массивов.

$array = array('foo');

$array[] = 'bar'.

// $array == array('foo', 'bar')
3 голосов
/ 25 августа 2010

Вы можете использовать функцию array_push или [] обозначения:

array_push($array, 'hi');

$array[] = 'hi';
1 голос
/ 25 августа 2010

Взгляните на это

$query = "SELECT * FROM table";
$showresult = mysql_query($query);

while($results_array = mysql_fetch_assoc($showresult))
{
    $finalarray[] = $results_array["column"];
}

// Add X to the end of the array
$finalarray[] = "X";
0 голосов
/ 25 августа 2010
echo implode($finalarray);

Или с нестандартным соединением "клей"

echo implode(', ', $finalarray);
0 голосов
/ 25 августа 2010

Кодаддикт правильный.Вы хотите вывести последний элемент, который был добавлен в массив.

echo end($final_array);

Это переместит указатель массива на последний добавленный элемент и затем выведет его.Поскольку вы добавляете элементы в массив таким образом ...

$finalarray[] = $results_array["name"];

Ключ для каждого из ваших элементов будет последовательным, 0,1,2,3 ... и т. Д.вперед.Еще одним менее элегантным решением для получения последнего элемента было бы ...

echo $final_array[count($final_array) - 1];
...