PHP初心者です。
$arrA = ['1','2','1'];
$arrB = ['あ い う','え','お'];
上記の配列をfor文で同じ数字キー同士の配列に組み換えた後、
$arrC = ['1','あ い う']、['2','え']、['1','お']
先頭が「1」の配列を選び、それらを空白で分割した後に結合したいのですが、for文で生成された配列を結合する方法が分かりません。
$arrD = ['あ','い','う']、['お']を$arrE = ['あ','い','う','お']と言う形にしたいです。
「$arrA」と「$arrB」が「$arrE」になれば良いので、方法が変わっても構いません。
よろしくお願いいたします。
以下プログラム
$arrA_count = count($arrA);
for ($s = 0; $s < $arrA_count; ++$s) {
$arrC = [$arrA[$s], $arrB[$s]];
if ($arrC[0] === '1') {
$arrD = explode(" ",$arrC[1]);
}
}
No.3ベストアンサー
- 回答日時:
$arrCや$arrDを経由する必要があるかどうかは疑問ですが
ご提示のものを最終型の$arrEにもっていくにはこんな感じになります
<?PHP
$arrA = ['1','2','1'];
$arrB = ['あ い う','え','お'];
$arrC = [];
array_walk($arrA,function($x,$y) use($arrB,&$arrC){
$arrC[]=[$x,$arrB[$y]];
});
print "arrC:";
print_r($arrC);
print "<hr>";
$arrD = [];
array_walk($arrC,function($x) use(&$arrD){
if($x[0]=="1") $arrD[]=explode(" ",$x[1]);
});
print "arrD:";
print_r($arrD);
print "<hr>";
$arrE =[];
array_walk($arrD,function($x) use(&$arrE){
$arrE=array_merge_recursive($arrE,$x);
});
print "arrE:";
print_r($arrE);
print "<hr>";
?>
No.2
- 回答日時:
$arrAと$arrBの要素数が同じであると担保されているのであれば
こうしてください
<?PHP
$arrA = ['1','2','1'];
$arrB = ['あ い う','え','お'];
$arrC =[];
array_walk($arrA,function($x,$y) use($arrB,&$arrC){
$arrC[]=[$x,$arrB[$y]];
});
print_r($arrC);
?>
回答ありがとうございます。
$arrAと$arrBの要素の数は同じで担保されています。
上記のプログラムを試したところ、$arrCに全ての項目を含む二次元配列が出力されましたが、
先頭が「1」である配列を結合するにはどうすれば良いのでしょうか?
私の理解力不足ですみません。
よろしくお願いいたします。
No.1
- 回答日時:
マニュアルを調べればいいだけだと思うんだよな~.
['あ','い','う'] と ['お'] から ['あ','い','う','お'] を作るなら
http://php.net/manual/ja/function.array-merge.php
全体としてはさらに explode と
http://php.net/manual/ja/function.array-map.php
を組み合わせる, かなぁ.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- C言語・C++・C# LU分解法のピボッティングについて(C言語/gcc-9) 3 2022/07/11 23:10
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- その他(プログラミング・Web制作) PythonでLoopを使って配列内の文字列を結合する。そして [] を削除する 1 2022/03/31 23:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 最大値と最小値を求めて...
-
Pager::factory()の使い方がわ...
-
pythonのnumpyでの繰り返しでの...
-
スカラーのベクトル微分
-
php で1から100までの素数の表...
-
読み(あ行~わ行)ごとに分け...
-
CArrayの要素としてCStringArra...
-
STLのvectorで作った配列をメン...
-
C言語の配列をPush(追加)する...
-
MySQLのデータをPHPで多次元...
-
sizeof
-
System.String.Splitでエラー
-
特定の文からメールアドレスの...
-
一度に複数の値を取得できる乱...
-
構造体を動的に確保&解放
-
【PHP】チェックボックスの必須...
-
Texでの数式
-
cakephpでのトランザクション処...
-
数独かを判断するプログラム
-
行列
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スカラーのベクトル微分
-
STLのvectorで作った配列をメン...
-
特定の文からメールアドレスの...
-
配列の要素(value)に、変数を...
-
読み(あ行~わ行)ごとに分け...
-
ファイルの書き込みについて教...
-
verilogで、配列の一部をタスク...
-
CArrayの要素としてCStringArra...
-
pythonのnumpyでの繰り返しでの...
-
C言語の配列をPush(追加)する...
-
php キーソート キーが重複した...
-
CArrayのソート
-
【PHP】配列のキー名の修正は可...
-
多次元配列をエンコードする関...
-
PHPは何故値渡しより参照渡しの...
-
cakephpでのトランザクション処...
-
pg_copy_fromの使い方について...
-
array_intersectで空欄を比較し...
-
濁点のソート
-
配列中のあるキー、値を取得し...
おすすめ情報