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

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

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

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).'"';

5 ответов

Решение

Ваше входное значение является строкой, поэтому обработайте его всего одним вызовом функции строки (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=''; 
        }; 
Другие вопросы по тегам