PHP эквивалент ColdFusion ValueList()

#php #coldfusion

#php #coldfusion

Вопрос:

Я изучаю PHP, и мне было интересно, есть ли что-то вроде ValueList() для PHP? Заранее благодарю вас.

 $data = Array
(
[0] => Array
    (
        [id] => 851099
        [title] => Iron Maiden
    )

[1] => Array
    (
        [id] => 852099
        [orgName] => Judas Priest
    )

[2] => Array
    (
        [id] => 861099
        [orgName] => Black Sabbath
    )

)

$valueListTitle = ValueList($data.title)
echo $valueListTitle;
 

который возвращает это: «Iron Maiden, Judas Priest, Black Sabbath»

Комментарии:

1. Вы переходите с CF на PHP или только изучаете PHP?

2. Моя компания переводит все наши приложения ColdFusion на PHP.

3. Я желаю вам удачи. Я видел, как это происходит несколько раз; ни один из них не был таким, как ожидалось изначально. CF далек от совершенства, но в PHP будет много вещей, которые вы оцените за легкость, с которой CF это сделал. Что это за данные? Это результат запроса?

4. Спасибо, Шон, эти данные взяты из запроса.

5. Ваша структура недопустима. Вам нужно перейти array(0 => array('id'=>1, 'title'=>'test title')) или использовать более плотный синтаксис в моем ответе ниже.

Ответ №1:

Да, проверьте array_column и implode, чтобы добавить запятые.

Пример использования:

 $data = array(
  ["id" =>1, "title"=>"Iron Maiden"], 
  ["id" =>2, "title"=>"Judas Priest"],
  ["id" =>3, "title"=>"Black Sabbath"],
  ["id" =>4, "title"=>"Deep Purple"],
  ["id" =>5, "title"=>"Rolling Stones"]
);

$valueListTitle = array_column($data, 'title');
$commaSeperated = implode(", ", $valueListTitle);
echo $commaSeperated;
 

который возвращает это: «Iron Maiden, Judas Priest, Black Sabbath, Deep Purple, Rolling Stones»

Комментарии:

1. Привет, Нико, я обновил информацию о массиве. Ваше предложение не работает с этой обновленной структурой массива. Есть предложения?

2. @user752746 Приведенное выше — это просто простой способ инициализации массива. Вы не можете использовать вывод print_r для инициализации массива, потому [0] => 'whatever' что он не работает, вы должны использовать 0 => 'whatever' . См. php.net/manual/en/function . array.php для получения множества примеров.

3. Спасибо за объяснение, я должен работать с вашим предложением с небольшой настройкой!