Мне интересно, если array_column сохраняет порядок элементов массива, поэтому, когда я вызываю функцию дважды в том же массиве, я могу доверять полученным массивам. Мне нужно работать таким образом, потому что в коде мне нужно сделать много операций только с определенными данными (один из ключей, в примере, id), и в конце концов используйте оба из них (в примере id и qty), чтобы вставить в дБ.PHP array_column несколько ключей того же порядка?
Пример:
QUERY: SELECT id, qty FROM items ...
CONVERTED INTO ASSOCIATIVE ARRAY:
$array = [
['id' => 1, 'qty' = 2],
['id' => 2, 'qty' = 4]
];
$itemsIds = array_column($array, 'id');
$itemsQty = array_column($array, 'qty');
Могу ли я сделать ?:
for($i = 0; $i < count($array); $i++) {
echo $itemsIds[$i] . $itemsQty[$i];
}
И я всегда получите правильные данные для каждого элемента?
не совсем уверен, что вы пытаетесь acomplish с кодом выше, если вы можете объяснить, что вы пытаетесь сделать, это могло бы помочь. Короче говоря, ответ отрицательный, потому что вы используете 'array_unique', который снимает повторяющиеся значения, что означает, что ваши два массива могут быть двух разных длин. – cmorrissey
Почему бы вам не получить его просто с запросом? – Grommy
'array_unique()' - проблема, потому что после этого массивы могут иметь разную длину. И, похоже, нет никаких оснований делать то, что вы делаете. Вы можете объяснить? – AbraCadaver