Массив преобразования строк в PHP

1

Как я могу преобразовать этот массив:

$data = Array
(
    [0] => Array
        (
            [0] => 125
            [pcode] => 125
        )

    [1] => Array
        (
            [0] => 275
            [pcode] => 275
        )

    [2] => Array
        (
            [0] => 600
            [pcode] => 600
        )

    [3] => Array
        (
            [0] => 675
            [pcode] => 675
        )

    [4] => Array
        (
            [0] => 1031
            [pcode] => 1031
        )

    [5] => Array
        (
            [0] => C335
            [pcode] => C335
        )

)

в строку вроде этого:

$ new_string = "'125', '275', '600', '675', '1031', 'C335'";

  • 0
    на каком языке?
  • 0
    Я предполагаю, что это PHP с учетом примера: implode(',', array_map(function ($item) { return "'" . $item[0] . "'"; }, $data)); , Пример тут .
Теги:
multidimensional-array

3 ответа

2
Лучший ответ

На самом деле просто:

$tmp=array();
foreach($data as &$element)
{
    $tmp[]='\''.addslashes(current($element)).'\'';
}

echo implode(',',$tmp);

Вы можете попробовать это на http://sandbox.onlinephpfunctions.com/code/5c338914de2d627ff39ea7e7dab5a30e060c39f4

1

ниже код получить свой результат:

<?php
$data = Array
(
    1 => Array
        (
            0 => 125,
            'pcode' => 125
        ),

    2 => Array
        (
            0 => 275,
            'pcode' => 275
        ),
    3 => Array
    (
        0 => 675,
        'pcode' => 675
    ),
    4 => Array
    (
        0 => 675,
        'pcode' => 675
    ),
     5 => Array
    (
        0 => 1031,
        'pcode' => 1031
    )
    );




$i=0;
foreach($data as $k=>$val)
{

    if(is_array($val))
    {
        foreach($val as $k1=>$v1)
        {
            if(strcmp($k1,'pcode'))
            {
                if($i==0)
                {echo '"'."'".$v1."',";
                }
                else if($i+1==sizeof($data))
                {
                    echo "'".$v1."'".'"';
                }
                else
                {
                    echo "'".$v1."',";
                }

            }

        }
    }
    $i++;
}
?>
0
$data=array( 
'1'=> array
    (
        '0' => 275,
        'pcode' => 275
    ),
'2' => array
    (
        '0' => 600,
        'pcode' => 600
    ),
'3' => array
    (
        '0' => 675,
        'pcode' => 675
    ),
'4' => array
    (
        '0' => 1031,
        'pcode' => 1031
    ),
'5' => array
    (
        '0' => 'C335',
        'pcode' => 'C335'
    )
    );

$val=implode(',',array_map("FunctionArr",$data));

function FunctionArr($value)
{
return $value[0];
} 
echo $val;

Теперь вы можете получить строку в соответствии с вашими потребностями

Как var_dump($val)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню