Так что мои знания о php-массивах ограничены. Я прочитал PHP Arrays - Manual Но это не объяснило это достаточно для меня, чтобы понять это честно.Добавить элементы в массив
У меня есть следующие в if{} else{}
заявлении с этим будучи else{}
// Set up an array for the items
while($row = mysqli_fetch_array($result))
{
$source = $row['source'];
}
$items = array(
"id" => $id,
"source" => $source,
);
$_SESSION['items'] = $items;
Скажем, у меня есть следующие пункты:
Item A with an ID of 1 and source of foo
Item B with an ID of 2 and source of boo
Item C with an ID of 3 and source of goo
, если эта функция вызывается с item A
, массив созданный с идентификатором 1
и источником foo
, и это все, что находится в массиве. И массив Вытряхивали как:
array(2) { ["id"]=> string(2) "25" ["source"]=> string(64) "https://www.alphahq.org/shop/views/assets/images/items/item2.jpg" }
Теперь, что если функция получает снова призвал item B
прямо сейчас, как он устанавливает, массив будет изменен на переменные для item B
Правильно?
Как бы я мог добавить item A
и item B
в тот же массив и определить их как отдельные элементы.
Так в основном, как я мог бы сделать это:
array {
item A {
id => 1
source => foo
}
item B {
id => 2
source => boo
}
}
И просто построить массив, как добавляется элемент. Я сохраняю массив в сеансе, может ли это быть полезным при извлечении и добавлении массива при каждом вызове функции?
Для дополнительной помощи мой полный файл shopping-functions.php
приведен ниже для справки.
<?php
session_start();
require('../../config/database-connect.php');
// Start a new order for a customer
$action = $_GET['action'];
$id = $_GET['id'];
// First make sure the action is not blank
if ($action == '') {
echo 'Please select an action';
}
if ($action == 'add') {
// Check if the id matches one in the database
$result = mysqli_query($con,"SELECT id, source FROM items WHERE id='$id'");
if (mysqli_num_rows($result) == 0) {
echo 'That id is not valid!';
}
else {
// Set up an array for the items
while($row = mysqli_fetch_array($result))
{
$source = $row['source'];
}
$items = array(
"id" => $id,
"source" => $source,
);
var_dump($items);
$_SESSION['items'] = $items;
}
}
?>
Это нормально, но вам также нужно инициализировать $ items где-то как '$ items = array();' просто быть в безопасности. –
Похоже, что это может сработать, хотя, я ненавижу, когда ложка кормится, я не собираюсь копировать и вставлять. Пожалуйста, объясните в своем ответе на ваш код. Заранее спасибо! :) – user2948950