-1

たとえば、次のパラメータがあります。

max_image_width=100,max_image_height=200,image_proportion=1.75

次の配列を取得したい:

array('max_image_width'=>100,'max_image_height'=>200,'image_proportion'=175);
4

4 に答える 4

6
$str = 'max_image_width=100,max_image_height=200,image_proportion=1.75';
$cfg = parse_ini_string(
    str_replace(',', "\n", $str)
);

print_r($cfg);
于 2012-11-08T22:59:18.683 に答える
3

5.4

$a=[];foreach(explode(',',$i)as$b){$a[explode('=',$b)[0]]=explode('=',$b)[1];}
于 2012-11-08T23:00:56.590 に答える
3
$output = array();
parse_str(str_replace(',', '&', 'max_image_width=100,max_image_height=200,image_proportion=1.75'), $output);
于 2012-11-08T23:02:24.937 に答える
2

たとえば、preg_match_allを使用します。

<?php
$t = 'max_image_width=100,max_image_height=200,image_proportion=1.75';

preg_match_all('!([^=]+)=([^,]+)!', $t, $m);
$x = array_combine($m[1], $m[2]);

var_export($x);

プリント

array (
  'max_image_width' => '100',
  ',max_image_height' => '200',
  ',image_proportion' => '1.75',
)

(正規表現なしでそれを行う方法は他にもたくさんありますが;-))

于 2012-11-08T22:57:51.777 に答える