Я знаю, что делал это раньше. Я не уверен, почему я изо всех сил пытаюсь сделать что-то такое простое.
Все, что я пытаюсь сделать, это добавить одиночную кавычку в строку через запятую.
Процесс php изначально выглядит так:
<?php
$checknumber = mysqli_real_escape_string($dbc,trim($_POST['checknumber']));
$splitnumber = preg_replace('/\n$/','',preg_replace('/^\n/','',preg_replace('/[\r\n]+/',"\n",$checknumber )));
$numbers = "'" . implode("', '", $splitnumber ) ."'";
echo $checknumber;
echo $splitnumber;
echo $numbers;
?>
Результаты выглядят так:
// $checknumber
AMD111111,AMD222222,AMD333333
// $splitnumber
AMD111111,AMD222222,AMD333333
// $numbers
''
Мне нужны результаты чисел $, чтобы выглядеть так:
'AMD111111','AMD222222','AMD333333'
Самое смешное, что я использую фрагмент кода, который я использовал до того, как это сработает. Так что я в недоумении, почему код здесь не работает.
Функция implode () требует массив в качестве второго аргумента.
Похоже, ваш $ splitnumber — это простая строка, а не массив строк, как это должно быть.
Попробуйте разделить ваш $ splitnumber запятыми, используя функцию explode (), и поместите результат этого в функцию implode.
Должно выглядеть так (не проверено):
$splitnumber = ...;
$splittedNumbers = explode(",", $splitnumber);
$numbers = "'" . implode("', '", $splittedNumbers) ."'";
Вероятно, есть более чистое решение, просто заменив все вхождения на ‘,’.
Ваш имплоз не настроен правильно.
$numbers = "'" . implode("','", $splitnumber) . "'";