Вопрос по string, arrays, php – Создать массив из списка через запятую - PHP

9

У меня есть переменная, определенная так:$var = "1, 2, 3";  & Амп; У меня есть массив:$thePostIdArray = array(1, 2, 3);

Приведенный выше массив отлично работает при цикле, но когда я пытаюсь использовать$var вместо списка через запятую возникают проблемы.

Так что (идеальный мир) это может быть$thePostIdArray = array($var); который будет таким же, как$thePostIdArray = array(1, 2, 3);.

Every attempt so far hasn't worked :'(

Is this even possible, or is there an easier workaround?

Спасибо за любые ссылки.

Если бы php имел такую логику, как вы ожидаете, я бы сошел с ума :) Robin Castlin

Ваш Ответ

3   ответа
50

Проверять, выписыватьсяexplode: $thePostIdArray = explode(', ', $var);

Error: User Rate Limit Exceeded
4

использовать функцию разнесения. это решит вашу проблему. Структура взрыва, как это

array explode ( string $delimiter , string $string [, int $limit ] )

сейчас$delimiter граничная строка,string $string является входной строкой. для предела:

Если предел установлен и положителен, возвращаемый массив будет содержать максимум элементов предела с последним элементом, содержащим остаток строки.

Если параметр limit отрицателен, возвращаются все компоненты, кроме последнего -limit.

Если параметр limit равен нулю, то это рассматривается как 1.

перейдите по следующей ссылке. Вы можете учиться лучше всего из этого ссылка php.net

2

Для разработчика, который хочет получить результат сand В итоге можно использовать следующий код:

$titleString = array('apple', 'banana', 'pear', 'grape');
$totalTitles = count($titleString);
if($totalTitles>1)
{
    $titleString = implode(', ' , array_slice($titleString,0,$totalTitles-1)) . ' and ' . end($titleString);
}
else
{
    $titleString = implode(', ' , $titleString);
}

echo $titleString; // apple, banana, pear and grape

Похожие вопросы