0

配列を文字列に変換するのを手伝ってください。

配列は次のようになります。

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 127
                )

            [1] => Array
                (
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 127
                )
             ...

        )

)

implode 関数を使用しようとしましたが、結果はありません...

$string = implode(", ", $pxlCorArr);

PS: ウクライナ出身の英語で申し訳ありません。

4

4 に答える 4

5

配列:

$pxlCorArr = 
  array(
      array (
           array('red' => 255, 
                 'green' => 255,
                 'blue' => 255,
                 'alpha' => 127
           ),

           array('red' => 255,
                 'green' => 255,
                 'blue' => 255,
                 'alpha' => 127
           )
      )
  );

コード:

$output = '';
foreach ($pxlCorArr as $subArray) {
    if(is_array($subArray)) {
        foreach ($subArray as $subArray2) {
            if(is_array($subArray2)) {
                $output .= implode ('.', $subArray);
                $output .= ',';
            }
        }
    }
}
$output = rtrim($output, ',');

出力:

255.255.255.127,255.255.255.127

于 2012-11-04T12:41:17.643 に答える
2

初期配列を渡す関数として、別の可能性があります。関数は必要な文字列を返します。

function getRGBAlpha($pxlCorArr) {

    $rgbVals = array();
    foreach($pxlCorArr as $subArr) {
        if(is_array($subArr)) {
            foreach($subArr as $colValues) {
                $rgbVals[] = implode('.', $colValues);
            }
        }
    }

    return implode(',', $rgbVals);
}

したがって、コードのどこかで次のことを実行して、必要な出力を取得できます。

echo getRGBAlpha($pxlCorArr);

出力する必要があります:

255.255.255.127,255.255.255.127
于 2012-11-04T12:51:34.610 に答える
1
Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 127
                )

            [1] => Array
                (
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 127
                )
             ...

        )

)


$string = '';
$array = $exists_array[0];
foreach ($array as $key => $value) {
$string .= $key." : ".$value."\n";
}
print $string;
于 2012-11-04T13:03:29.267 に答える
0

ラムダ関数で array_walk を使用する:

  $implodevals =  create_function('&$val', '$val = implode(".", $val);');
  array_walk($array, $implodevals);
  print rtrim(implode(", ", $array), ",");

入力配列:

   $array = Array
    (
        0 => Array
            (
                "red" => 255,
                "green" => 255,
                "blue" => 255,
                "alpha" => 127
            ),

        1 => Array
            (
                "red" => 255,
                "green" => 255,
                "blue" => 255,
                "alpha" => 127,
            )



     );
于 2012-11-04T13:59:14.873 に答える