public function order(...)
{
$order = [
'1' => 'банан',
'2' => 'помидор',
];
$res_arr_values = array(); // получается, что он создается каждый раз и значения обнуляются
/*
* этот массив создается и в него после
* каждого метода post хочу добавлять значения
* из массива $order, чтобы было примерно так:
*
* $res_arr_values = [
* [0] => массив,
* [1] => массив,
* [2] => массив,
* ...
* ]
*
* **/
}
/**
* Merges two or more arrays into one recursively.
* If each array has an element with the same string key value, the latter
* will overwrite the former (different from array_merge_recursive).
* Recursive merging will be conducted if both arrays have an element of array
* type and are having the same key.
* For integer-keyed elements, the elements from the latter array will
* be appended to the former array.
* @param array $a array to be merged to
* @param array $b array to be merged from. You can specify additional
* arrays via third argument, fourth argument etc.
* @return array the merged array (the original arrays are not changed.)
* @see mergeWith
*/
public function mergeArray($a,$b)
{
$args=func_get_args();
$res=array_shift($args);
while(!empty($args))
{
$next=array_shift($args);
foreach($next as $k => $v)
{
if(is_integer($k))
isset($res[$k]) ? $res[]=$v : $res[$k]=$v;
elseif(is_array($v) && isset($res[$k]) && is_array($res[$k]))
$res[$k]=self::mergeArray($res[$k],$v);
else
$res[$k]=$v;
}
}
return $res;
}
private $orders_filename = "orders.serialized";
public function getOrders()
{
// Создание массива по умолчанию
$orders = [];
// Попытка считывания данных их файла
if (file_exists($this->orders_filename)) {
// Чтение файла и запись его содержимого в переменную
$file = file_get_contents($this->orders_filename);
// Десериализация строки в массив
$orders = unserialize($file);
}
return $orders;
}
public function addOrder($order)
{
// Получения списка заказов
$orders = $this->getOrders();
// Добавление нового заказа
$orders[] = $order;
// Сериализация массива (превращение его в строку):
$serialized_orders = serialize($orders);
// Сохранение файла
$result = file_put_contents($this->orders_filename , $serialized_orders, FILE_APPEND | LOCK_EX);
return $result;
}
public function order()
{
$order = [
'1' => 'банан',
'2' => 'помидор',
];
$this->addOrder($order);
}