Как показать несколько определенных столбцов из массива и отобразить как одну строку

Мой массив выглядит так:

 {
        "fileinfo": {
        "database": "homestead",
        "git": "master",
        "date": 12,
        "year": 2018,
        "month": "October"
        }
 }

Я хочу забрать gitBranch, дату, месяц, год из массива и распечатать как

1 строка

Я пробовал vsprintf и sprintf, но не понял.

Добавьте свои попытки к вашему вопросу. В объединении строк не должно быть ничего сложного.

Jonnix 12.10.2018 14:19

Попробуйте json_decode, это приведет к массиву данных

Koen Hollander 12.10.2018 14:19

@KoenHollander, мне не нужен массив. Это уже массив. Мне нужны конкретные ключи и значения в одной строке.

CH_user303 12.10.2018 14:21

@JonStirling Сложная часть - это не весь массив, а только определенные столбцы

CH_user303 12.10.2018 14:22

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

Jonnix 12.10.2018 14:25
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
5
142
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Предполагая, что у вас есть этот массив как $array

$str = sprintf('Branch: %s, Created: %s %s %s.', 
    $array['fileinfo']['gitBranch'],
    $array['fileinfo']['date'],
    $array['fileinfo']['month'],
    $array['fileinfo']['year']
);

echo $str;
<?php

$array = array(
    "metadata" => array(),
    "fileinfo" =>array(
        "database" =>"homestead",
        "connection" => "mysql",
        "gitBranch" => "master",
        "minutes" => 41,
        "hours" => 13,
        "date" => 12,
        "year" => 2018,
        "month" => "October"
    )
 );

echo "Branch: {$array['fileinfo']['gitBranch']}, Created: {$array['fileinfo']['date']} {$array['fileinfo']['month']} {$array['fileinfo']['year']}";

Это создает желаемый результат.

Для нескольких массивов выполните foreach() через них с этим внутри, но, очевидно, переменная $array будет тем, что вы установили в цикле.

Мне понравилась идея, как @ sietse85 использовал sprintf для их объединения. но все равно спасибо

CH_user303 12.10.2018 14:36

Мне это тоже очень нравится! Придется попробовать и использовать в будущем!

Dammeul 12.10.2018 17:35

Кроме того, возможно, вам стоит проверить это только для более полного понимания обоих решений: stackoverflow.com/questions/7147305/…, который также ссылается на это: judebert.com/progress/archives/…, который посвящен производительности форматирования строк PHP

Dammeul 12.10.2018 17:38

Другие вопросы по теме