Как я могу добавить запятую в переменных данных? - PullRequest
0 голосов
/ 30 сентября 2018

Я хочу удалить key и добавлять comma после каждого значения, я устал от foreach, но я не могу назвать его успешным.

$data = array:195 [▼
          0 => 26404.759765625
          1 => 26390.619140625
          2 => 26391.9609375
          3 => 26397.6796875
          4 => 26421.630859375
          5 => 26414.880859375
          6 => 26409.33984375
          7 => 26410.509765625
          8 => 26403.220703125
          9 => 26386.029296875
          10 => 26400.109375
          11 => 26412.369140625
          12 => 26408.099609375
          13 => 26418.029296875
          14 => 26422.80078125

Я пытаюсь выполнить цикл ниже:

foreach($data  as $key=>$value){
$dataes = $value
}
DD($dataes);

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

    array:195 [▼
         26404.759765625,
         26390.619140625,
         26391.9609375,
         26397.6796875,
    so on...

Ответы [ 4 ]

0 голосов
/ 30 сентября 2018

Честно говоря, я думаю, что ваш код в порядке, вам не нужно удалять эти ключи.

В php ключом-значением является массив.

Если ваш код такой:

$b=[0 => 26404.759765625, 3 => 26390.619140625, 4 => 26391.9609375]
dd($b)

# In postman, it will show like this.
$data = array:3 [▼
      0 => 26404.759765625,
      3 => 26390.619140625,
      4 => 26391.9609375
]

И вы сбросите эти ключи, они станут обычным массивом.

Но в почтальоне, когда вы используете dd($b), они все равно будут отображать эти ключи.

$data = array:3 [▼
      0 => 26404.759765625,
      1 => 26390.619140625,
      2 => 26391.9609375
]

И вы можете использовать php artisan tinker, это будет выглядеть так: enter image description here

Убедитесь, что ваш ключ целое число.Я думаю, что это не повлияет на нормальное использование.

0 голосов
/ 30 сентября 2018

Чтобы отобразить разделенную запятую данных, вы можете использовать implode, который берет массив и использует «клей» между каждым элементом массива и строит из него строку.

echo implode(",<br>", $data);

Это даст вам один элемент в строке и запятую после каждого элемента.

Здесь вы можете увидеть выходные данные кода.
https://3v4l.org/AHvu3C
Уведомлениечто это командная строка, поэтому html будет отображаться как текст.
Запуск одного и того же кода на интерпретаторе PHP и в браузере сделает его правильным html.


Поскольку вы создаете API, я предполагаю, что вам нужен json_encode.
Json_encode возвращает массив в виде строки, которую можно легко получить и декодировать.

echo json_encode( $data);
//[26404.759765625,26390.619140625,26391.9609375,26397.6796875,26421.630859375,26414.880859375,26409.33984375,26410.509765625,26403.220703125,26386.029296875,26400.109375,26412.369140625,26408.099609375,26418.029296875,26422.80078125]

https://3v4l.org/6MMZu

0 голосов
/ 30 сентября 2018

Так что вам нужно сделать:

$dataes[] = implode(",\n", $data);

Это объединяет значения $ data в одну строку (с новыми строками).

0 голосов
/ 30 сентября 2018

Чтобы просто получить вывод через запятую, вы можете использовать функцию implode .

string implode ( string $glue , array $pieces )

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

Попробуйте следующий код:

// convert the $data array into a string
// It takes elements of the array, and join them with a comma (our input) 
// and, returns a string
$string = implode(',', $data);

// just display the string
echo $string;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...