Я хочу добавить двойные кавычки каждого моего массива.
Исходное значение:
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).'"';
Ваше входное значение является строкой, поэтому обработайте его всего одним вызовом функции строки (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"
Сделайте это через цикл:
$new_array = array();
foreach($array as $a) {
$new_array[] = '"'.$a.'"';
}
Он создаст новый массив с «, вокруг каждого элемента.
Ты можешь использовать 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);
Попробуй это,
$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);
$allowedIP = array('192.168.183.2, 192.168.183.28');
$new= implode($allowedIP);
$fl=',';
foreach (explode(',',$new) as $v){
echo '"'.$v.'"'.$fl;
$fl='';
};