Как использовать значение переменной, которая объявлена ​​как массив (оканчивающийся на '[]')? - PullRequest
1 голос
/ 27 марта 2011
<?php $postid[] = get_the_ID(); // capture the id (a number) ?>

Теперь, если я эхом $postid, я просто получаю: Массив

и когда я делаю следующее:

<?php
    $default = array(
        'posts_per_page' => $postid
    );
?>

Я тоже ничего не понимаю.

Есть предложения?

1 Ответ

6 голосов
/ 27 марта 2011

При работе с массивами в PHP вы можете использовать следующее для присвоения массива переменной:

// initalize empty array
$a = array();
var_dump($a);

(конечно, array() может быть не пустым)

Или вы можете использовать следующий синтаксис без индексов:

// push items at the end of the array
$a[] = 10;
$a[] = 20;
var_dump($a);

И, наконец, вы можете установить элемент на ключ по вашему выбору:

// put an item at a given index
$a['test'] = 'plop';
var_dump($a);

Для получения дополнительной информации см. 1016 * Массивы разделов руководства .


После трех звонков var_dump() я получу:

array
  empty

array
  0 => int 10
  1 => int 20

array
  0 => int 10
  1 => int 20
  'test' => string 'plop' (length=4)

Примечание: многие используют print_r() вместо var_dump() - я предпочитаю var_dump(), что отображает больше информации, особенно если установлено расширение Xdebug .


Но учтите, что в любом случае вызов echo для самого массива:

echo $a;

Не получит ничего, кроме:

Array

Что не совсем полезно; -)


Тем не менее, вы можете отобразить значение одного элемента этого массива:

echo $ a ['test'];

Что, в этом случае, даст вам этот вывод:

plop


В основном: echo - это не то, что вы должны использовать, когда хотите отобразить массив:

  • Либо используйте var_dump(), если вы хотите проверить массив для целей отладки,
  • или цикл по массиву с foreach, отображая каждый элемент с эхом
    • Примечание: вам может потребоваться выполнить некоторую рекурсию, чтобы проверить подмассивы; -)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...