Как применить двойные кавычки к каждому значению в строке через запятую?

Я хочу добавить двойные кавычки каждого моего массива.

Исходное значение:

192.168.183.2, 192.168.183.28

Текущий результат:

"192.168.183.2, 192.168.183.28"

Что я хочу это:

"192.168.183.2", "192.168.183.28"

и вот мой код:

$allowedIP = array($dScheduler['ALLOWED_IP_ADDRESS']);
echo $newarray='"'.implode('","', $allowedIP).'"';

1

Решение

Ваше входное значение является строкой, поэтому обработайте его всего одним вызовом функции строки (str_replace()):

Код: (демонстрация)

$dScheduler['ALLOWED_IP_ADDRESS']='192.168.183.2, 192.168.183.28';  // your input string
$wrapped='"'.str_replace(', ','", "',$dScheduler['ALLOWED_IP_ADDRESS']).'"';
echo $wrapped;

echo "\n\n";
// if you want an array:
$array=explode(', ',$wrapped);  // generate result array
foreach($array as $v){
echo "$v\n";
}

Разделитель значения в вашей входной строке: ,так что вам просто нужно изменить его на ", " и обернуть всю строку в " также.
Затем вы просто взрываетесь на запятых, чтобы создать желаемый массив элементов.

Выход:

"192.168.183.2", "192.168.183.28"
"192.168.183.2""192.168.183.28"
1

Другие решения

Сделайте это через цикл:

$new_array = array();
foreach($array as $a) {
$new_array[] = '"'.$a.'"';
}

Он создаст новый массив с «, вокруг каждого элемента.

1

Ты можешь использовать array_map

<?php
$allowedIP = array('192.168.183.2, 192.168.183.28');

$arrAllowedIP = explode(',', $allowedIP[0]);

$quotedIP = array_map(function($val)
{
return '"'.trim($val).'"';
}, $arrAllowedIP);
0

Попробуй это,

$arr = ["192.168.183.2", "192.168.183.28"];

$imp = '"'.implode('", "', $arr).'"'; // to string with double quote

$exp = explode(',', $imp); // to array with double quote

echo $im;

print_r($exp);
0
    $allowedIP = array('192.168.183.2, 192.168.183.28');
$new= implode($allowedIP);
$fl=',';

foreach (explode(',',$new) as $v){
echo '"'.$v.'"'.$fl;
$fl='';
};
-1
По вопросам рекламы [email protected]