Разбить массив из функции на переменные, PHP

0

Проблема: из функции я получаю два значения и только два. Я заполняю значения в массив и возвращаю массив. Затем я пытаюсь присвоить два значения двум различным переменным, которые будут использоваться позже.

В print_r я вижу значения - они верны, поэтому мой sql в порядке. Но я не могу разбить значения на две переменные. Помогите!

Соответствующий код здесь: Функция:

$Data = getdatastigning($stignr1); 

Здесь я заполняю массив из инструкции sql:

$dataArray = array();

$res = $stmt->fetch();

$dataArray[] = $res;

return $dataArray;

Здесь используется массив:

$Data = getdatastigning($stignr1);   //function to get hight and length

foreach ($Data as $name){
   print_r($name) . "<br/>";
}

Как я уже сказал, print_r показывает, что значения идеальны. Но я не могу разделить массив.

Я пробовал что-то вроде:

$hight = $Data[0];
$length = $Dat[1);

Но это не так.

Теги:
function
variables

2 ответа

0
Лучший ответ

Взгляните на конструкцию list():

list($hight, $length) = getdatastigning($stignr1);

Элементы массива будут назначены переменным $hight и $length.

0

Технически, fetch() уже возвращает объект (в зависимости) или fetchAll() возвращает массив, поэтому вы храните массив ($ res) внутри другого массива ($ dataArray).

Все, что вам нужно сделать, это вернуть $ res из вашей функции, затем внутри вашего foreach(), использовать список()

list($hight, $length) = $Data;

или, чтобы сделать это немного легче без вторичной переменной:

list($hight,$length) = getdatastigning($stignr1);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню