ホームページ > バックエンド開発 > PHPチュートリアル > 文字列を配列に処理することに関連する問題

文字列を配列に処理することに関連する問題

WBOY
リリース: 2016-06-13 13:28:52
オリジナル
856 人が閲覧しました

文字列を配列に加工する問題
文字列は次のとおりです:
$str = "aa:1,bb:2,cc:3,dd:4";


あり2 つの要件:

1. この文字列を配列に分割したいと考えています。ここで、aa、bb、cc、dd はそれぞれインデックス 11、22、33、44 であり、インデックス値です。 $arr = Array ( [aa] => 11, [bb] => 22, [cc] => 33, [dd] => 44 ) など、
2. この文字列を 4 つの変数に分割するには、変数名がそれぞれ対応する値 11、22、33、44 を持つ aa、bb、cc、dd として動的に生成されます。これを操作するにはどうすればよいですか?


-----解決策--------------------------------2 つの方法:
1.
PHP コード

$str = "aa:1,bb:2,cc:3,dd:4"; parse_str(preg_replace(array('/w+/', '/:/','/,/'), array('"$0"','=','&'), $str), $ar); print_r($ar);
<br>------解決策---------<font color="#e78608"></font>さらに 2 つの方法<br><br>PHP コード
ログイン後にコピー
$str = "aa:1,bb:2,cc:3,dd:4"; foreach(array_chunk(preg_split('/[:,]/', $str), 2) as $t) $ar[$t[0]] = $t[1]; print_r($ar);
<br>------解決策---------<font color="#e78608"></font>レンガを追加します<br><br><br>PHP コード
ログイン後にコピー
$str = "aa:1,bb:2,cc:3,dd:4"; preg_replace("#([w]+):([d]+)#e", "$arr['\1']=\2\2", $str); print_r($arr); /* 配列 ( [aa] => 11 [bb] => 22 [cc] => 33 [dd] => 44 ) */
<br>------解決策---------<font color="#e78608"></font><br>PHP コード
ログイン後にコピー
[ユーザー:root 時刻:14:14:44 パス:/home/liangdong/php]$ php arr.php 1 2 3 4 [ユーザー:root 時刻:14:14:45 パス:/home/liangdong/php]$ cat arr.php
<div class="clear"></div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート