Как я могу добавить разделитель к последнему значению моего массива в php, используя implode? - PullRequest
0 голосов
/ 29 апреля 2020

Проблема под рукой: у меня есть одна переменная Zero C, которая хранит два массива. Я хотел бы отправить его в другой файл PHP, используя curl, но отправляет только первый массив. Чтобы обойти эту проблему, я попытался внедрить переменную в строку, надеясь преобразовать два массива в одну длинную строку, однако, только первый массив проходит. Функция implode не помещает разделитель в последний элемент массива (как показано жирным шрифтом).

Я не могу объединить два массива, поскольку они хранятся в одной переменной. Если у кого есть идеи как решить эту проблему, заранее спасибо.

        if($i==0){      
          $thisk= implode("%", $comments);
          print_r($thisk);
        }

Токовый выход после использования имплода:

0% Правильный оператор def% 0% Правильный метод Name% 0% Правильный параметр 0 % Правильный оператор Def% 0 % Правильная функция Имя% 0% Правильный параметр

Перед его развертыванием (в виде массива):

Массив ([0] => 0 [1] => Правильный оператор def [2] = > 0 [3] => Правильное имя функции [4] => 0)

Массив ([0] => 0 [1] => Правильный оператор def [2] => 0 [3] => Правильное имя функции [4] => 0)

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

Просто добавьте % в конце вручную:

if ($i==0) {      
    $thisk = implode('%', $comments) . '%';
    print_r($thisk);
}

Возможно, вы захотите проверить, не является ли $comments не пустым, чтобы предотвратить % в результирующей строке.

0 голосов
/ 29 апреля 2020

Одно из возможных решений: Вы можете просто добавить разделитель в конец после взрыва, и для окончательного результата снова удалить разделитель.

Пример

$thisk = "";
for ($i = 0; i < 2; ++$i) {
    $thisk .= implode("%", $comments) . "%";
}
$thisk = rtrim($thisk, "%");

Или более полный решение на основе вашего исходного вопроса:

<?php
$ZeroC = [
    ['0', 'Correct def statement', '0', 'Correct function Name', '0'],
    ['0', 'Correct def statement', '0', 'Correct function Name', '0'],
];

$result = '';
foreach ($ZeroC as $pieces) {
    $result .= implode('%', $pieces) . '%';
}
$result = rtrim($result, '%');
echo $result;

Результат будет:

0%Correct def statement%0%Correct function Name%0%0%Correct def statement%0%Correct function Name%0

...