Помогите разобраться с массивами

Статус
В этой теме нельзя размещать новые ответы.

FRIE

Новичок
Помогите разобраться с массивами

дело вот в чём, захотел сделать корзину покупателя, и чтобы товары записывались в сессию
создал 2 файла для примера

index1.php
PHP:
<?php session_start(); ?>
<script type="text/javascript" src="i3/js/jQuery.js">
</script>
<script type="text/javascript">
function add(id,price) {
	$.post('index2.php', { id: id, price: price} ,function(data) {
    $('#dannie').html(data);
				                                   );
	}
</script> 
</head>
<body>
<a href="#" onclick='add(1,4);'  >Link1</a>
<a href="#" onclick='add(5,6);'  >Link1</a>
<a href="#" onclick='add(1,7);'  >Link1</a>
<div id='dannie' style="margin-top:200px; margin-left:500px;"></div>

index2.php
PHP:
<?php session_start(); 

$id=$_POST['id'];
$price=$_POST['price'];

?>
и вот тут надо загнать полученные данные в массив и запихнуть в переменную сессии , но я чето не понимаю массивы вообще как с ними работать. у меня например могут совпадать id а цена разная может быть. если кто может набросайте примерный код

тоесть приходят пост данные, id и price , нужно проверить есть ли массив с такими же id и price , и если есть то прибавить к количесту +1 а если нет то добавить в массив и потом еще всё это вывести
 

FRIE

Новичок
Автор оригинала: Beavis
в самое начало скрипта напиши
PHP:
ini_set('display_errors', 'on');
error_reporting(E_ALL);
потом читай про массивы
http://ru2.php.net/manual/en/language.types.array.php
http://ru2.php.net/manual/en/ref.array.php
index2.php

PHP:
<?php session_start();
ini_set('display_errors', 'on');
error_reporting(E_ALL);

$id=$_POST['id'];
$price=$_POST['price'];

$arr = array("id" =>$id, "price" => $price);


$_SESSION['cart']=$arr;
echo  $_SESSION['cart']['id'];
echo "<br>";
echo $arr["id"]; 
echo $arr["price"]; 


?>
вот что получилось но почему то не сохраняется значение в сессии ,получается что одно значение заменяется на другое а нужно сделать чтобы
они по порядку становились.

вопрос - как сравнить приходящие данные с тем массивом что уже есть
и у меня почемуто не сохраняется это в сессии
 

Beavis

Banned
FRIE
во-первых, ты поставил эти две строчки не в самое начало скрипта, как я говорил, а после session_start

во-вторых, чтобы посмотреть содержимое массива используй функцию [m]var_dump[/m]

ну и в-третьих, по ссылкам что я привел выше, написано как работать с массивами
 

FRIE

Новичок
Автор оригинала: Beavis
FRIE
во-первых, ты поставил эти две строчки не в самое начало скрипта, как я говорил, а после session_start

во-вторых, чтобы посмотреть содержимое массива используй функцию [m]var_dump[/m]

ну и в-третьих, по ссылкам что я привел выше, написано как работать с массивами
Вот сделал как вы сказали, и загнал в массив приходящие переменные

PHP:
<?php ini_set('display_errors', 'on');
error_reporting(E_ALL);
session_start();
$id=$_POST['id'];
$price=$_POST['price'];

$_SESSION['cart'] = array("id" =>$id, "price" => $price);

foreach($_SESSION['cart'] as $k => $v) {
    print "\$arr[$k] => $v.\n";
}

?>
только они перезаписываются, а как сделать чтобы не создавался новый массив а значения просто присоединялись к массиву?
 

Beavis

Banned
FRIE
ну конечно они перезаписываются, ты же именно это и делаешь тут
PHP:
$_SESSION['cart'] = array("id" =>$id, "price" => $price);
но ты же считаешь что по тем ссылкам которые я дал, бред какой то написан, который не имеет отношения к делу? и хочешь чтоб тебе сразу готовый код дали? я тебя правильно понял?
 

FRIE

Новичок
Автор оригинала: Beavis
FRIE
ну конечно они перезаписываются, ты же именно это и делаешь тут
PHP:
$_SESSION['cart'] = array("id" =>$id, "price" => $price);
но ты же считаешь что по тем ссылкам которые я дал, бред какой то написан, который не имеет отношения к делу? и хочешь чтоб тебе сразу готовый код дали? я тебя правильно понял?
не считаю бредом а наоборот Читаю , того до меня туговато доходит и иногда нужно меня носом прям ткнуть или показать на моём примере как это делается

вот нашел функцию с помощью которой сливаются массивы токо у меня выдает ошибку
Parse error: syntax error, unexpected T_FOREACH in C:\xampp\htdocs\index2.php on line 10
PHP:
<?php ini_set('display_errors', 'on');
error_reporting(E_ALL);
session_start();
$id=$_POST['id'];
$price=$_POST['price'];
$arr=array("id" =>$id, "price" => $price);
$result=array_merge($_SESSION['cart'],$arr)


foreach($result as $k => $v) {
    print "\$result[$k] => $v.\n";
}


?>
 

Beavis

Banned
FRIE
если бы ты хотя бы разобрался в примерах, приведенных по первой ссылке, и повторил бы их, таких элементарных вопросов не осталось бы
 

FRIE

Новичок
Автор оригинала: Beavis
FRIE
если бы ты хотя бы разобрался в примерах, приведенных по первой ссылке, и повторил бы их, таких элементарных вопросов не осталось бы
ладно, прежде чем задам еще вопрос, пересилю себя и сделаю примеры как ты говоришь )))
посмотрим что из этого получится
 

dimagolov

Новичок
FRIE, ты только на один пост, последний отвечаешь? ответь на мой вопрос, поучительно ведь...
 

HraKK

Мудак
Команда форума
Тема закрыта. Учитесь пользоваться поиском.

Прежде чем задавать вопрос - используйте поиск по форуму и FAQ:
На нахождение готового ответа на свой вопрос Вы потратите меньше своего и чужого времени, чем на создание новой темы.

Поиск по форуму

http://phpclub.ru/faq/
http://phpclub.ru/detail/
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху