PHP: Как поместить переменную в массив? - PullRequest
2 голосов
/ 26 октября 2010

Просто быстрый вопрос синтаксиса новичка PHP.

У меня есть переменная, назовем ее $tabs, которая всегда содержит строку чисел, разделенных запятыми, например: 24,35,43,21

У меня также есть переменная, которая является массивом:

$args = array('post_type' => 'page', 'post__in' => array(27,19,29), 'order' => 'ASC');

Это, конечно, WordPress.Что мне нужно сделать, это поместить содержимое переменной $tabs (числа), где находятся числа внутри массива.Я довольно новичок в PHP, только понимаю, как изменить некоторые вещи, но я не могу понять, не знаю, как должен выглядеть его синтаксис.

Кто-нибудь может помочь?Спасибо.

Ответы [ 2 ]

8 голосов
/ 26 октября 2010
$args['post__in'] = array_merge($args['post__in'], explode(',', $tabs));

Давайте объясним, что я сделал, чтобы вы могли взять одну или две вещи:

  1. explode(',', $tabs) разбивает строку на части в разделителе и помещает эти части в массив.
  2. array_merge($arr1, $arr2) объединит два массива.
  3. $args['post__in'] получит доступ к элементу массива, указанному ключом.

Обратите внимание, что в этом случае array_merge,просто добавит значения, и вы можете получить дубликаты номеров.Чтобы избавиться от дубликатов, просто оберните слияние в array_unique.Вот так:

$args['post__in'] = array_unique(array_merge($args['post__in'], explode(',', $tabs)));

И, конечно, тривиальный случай, когда вы просто хотите заменить эти цифры на новые, это

$args['post__in'] = explode(`,`, $tabs);
2 голосов
/ 26 октября 2010

$args['post__in'] = explode(",",$tabs);

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