Получение всех значений из цикла Foreach и размещение их в массиве через запятую в PHP - PullRequest
0 голосов
/ 04 марта 2012

Хорошо, это, вероятно, действительно просто, и я просто не могу понять это! Мне нужно получить значение из массива в цикле foreach в php и передать его в массив для jquery. Вот мой код:

foreach ($results as &$value) {
            $vall[] = $value.", ";
        }   
        $result = count($results);
        echo $result;
        print_r($vall);

Это печатает обычный массив = Array ([0] => one.jpg, [1] => two.jpg, [2] => three.JPG, [3] => four.JPG,)

Мне нужно создать массив следующим образом: one.jpg, two.jpg, three.JPG, four.JPG (только значения) Затем мне нужно передать это в мой jquery:

$(".next").click(function(){
            var p = [<?php echo $vall ?>];
            var start = id;
            var next = p[($.inArray(start, p) + 1) % p.length];
            var prev = p[($.inArray(start, p) - 1 + p.length) % p.length];
            $(".cont").append(next);
            $(".cont").append(prev);
            });

** Мне также нужно снять запятую с последнего значения. Любая помощь или альтернативы, чтобы сделать это, будет принята с благодарностью.

Ответы [ 2 ]

3 голосов
/ 04 марта 2012

Если вы пытаетесь отобразить массив для использования в JavaScript и используете PHP 5.2.0 или более позднюю версию, вы можете использовать json_encode().

Если вы просто хотите распечатать массив в описанном вами формате, но вам не нужно беспокоиться о экранировании специальных символов для JavaScript, вы можете использовать implode().

1 голос
/ 04 марта 2012

Почему бы не пойти по гораздо более простому маршруту и ​​использовать json_encode()?

Заменить это ...

[<?php echo $vall ?>]

на это ....

<?php echo json_encode($results); ?>

и вы можете избавиться от всего цикла foreach.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...