• ベストアンサー

配列の要素の結合について

下記の(変更前)から(変更後)のように配列の要素を結合し、 結合後の要素の数は減らしたいと思っています。 関数などを調べたですが、なかなか実現できない状況です。 ご教授いただければと思います。 よろしくお願いします。 (変更前) array(4) { [0]=>"郵便番号" [1]=>"東京都" [2]=>"大田区" [3]=>"氏名" (変更後) array(3) { [0]=>"郵便番号" [1]=>"東京都大田区" [2]=>"氏名"

  • PHP
  • 回答数1
  • ありがとう数8

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4851/10265)
回答No.1

書かれている内容だけからすると、 $a = array( "郵便番号", "東京都", "大田区", "氏名" ); $b = array( $a[0], $a[1].$a[2], $a[3] ); で十分と思います。何をしたいかによっては、array_slice() を使うのかもしれません。

kondo3069
質問者

お礼

ご回答ありがとうございます。 早速試してみるみたところ、希望通りの動きをしてくれました。 本当にありがとうございます。

関連するQ&A

  • 配列の結合

    2つ配列を普通に結合する関数はありませんか? C言語のstrcatみたいな関数を探しています。 array_merge()以外の関数を教えて下さい。

    • 締切済み
    • PHP
  • 配列を返す関数から、一つの要素だけ取り出したい。

    例えば、配列を返す関数、get_array がある時、 その配列の0番目の要素だけが欲しい時、 Perlでは、 $val = get_array[0]; (配列リファレンスを返す場合は、$val = get_array->[0]; ) みたいな感じで書けたと思いますが、 PHPでは、 $val = get_array()[0]; みたいに書けないですよね? 以下のように、二行で書かなければダメですか? $array = get_array(); $val = $array[0];

    • ベストアンサー
    • PHP
  • C# 多次元配列の要素数の変更

    現在、C#2005にて開発を行っているものです。 最近C#を始めたばかりで、分からないことだらけです。 以前はVBで開発を行っており、配列の要素数を変更することなど容易だと思っていたのですが、そう簡単にはいかなそうです。 VBではRedimがあったのですが、C#にはRedimがありません。 そこでネット等で調べてみたところ、Array.Resizeで配列の要素数が変更できることがわかりました。 ですが、1次元配列にしか対応されていない気がします。 現在開発しているシステムでは明細データの履歴情報を登録する部分を担当しています。配列A[変更前又は変更後,明細(行)No.,列No.](3次元配列)を使用して変更前と変更後の明細データを比較しております。 呼び出した明細データの明細行数分のみ(なので可変です)、配列Aの要素数を変更していきたいのですが、どなたかご教授頂けませんでしょうか。 大変お手数をお掛け致しますが、よろしくお願い致します。

  • 連想配列で値が空だったら、要素を削除したいのですが

    連想配列で値が空だったら、要素を削除したいのですが、どうすればよいでしょうか? ▼元の配列 array { [1]=>"東京" [2]=>"京都" [3]=> ""←string [7]=>"横浜" [24]=>"奈良" [5]=> ""←string }    ↓ ▼こういう配列にしたい array { [1]=>"東京" [2]=>"京都" [7]=>"横浜" [24]=>"奈良" }

    • ベストアンサー
    • PHP
  • Excel(VBA)で配列の要素数を調べるには?

    お世話になります。 ExcelのVBAで、split関数を使って配列に格納したデータの要素数を調べる方法がわかりません。 下記のようなコードで、読み込んだデータを配列(Arraydata)に格納することは出来たのですが、test.csvの要素数が処理の度に変わるため、要素数に応じて後続の処理を行ないたいと考えています。 Open test.csv For Input As #1 ' test.csvファイルを開く Line Input #1, test.csv ' データ行を読み込む Arraydata = Array(Split(test.csv, ",")) ' 配列に格納 よろしくお願いします。

  • ハッシュの中に格納された配列の要素数を得る方法

    予想配列のあるキーを配列とします。 %hash; @hash{'a'}=['aa','ab','ac']; 一方で普通の配列をスカラ変数として扱うと配列数を表します。 @array=(a,b,c,d,e); $num=@array; # $numは5になる。 それでは $num=@hash{'a}; あるいは  $num=@{hash{'a'}}; としたらどうなるのって ARRAY(0x2438c4) みたいになって、$numに@hash{'a'}の要素数は入りません。 予想配列の中に格納された配列の要素数を取り出す簡便な方法はないものでしょうか。 お手数をお掛けします。

    • ベストアンサー
    • Perl
  • PHPの配列要素に別の配列を入れるには?

    とある商品情報を管理するPHPプログラムを書いています。 最終的に、$Paramsの'goodIdArray'という要素に商品情報を2つ入れたいと思っています。 以下の通りに書いてみたんですが、うまくいきません。 $goods_id = array( 'goods_id' => '商品1', 'goods_id2' => '商品2'); $info['goods_id'] = $goods_id;  #$info配列の「goods_id」という要素にgoods_id配列を入れる $goodsIdArray[] = $info['goods_id']['goods_id']; #goodsIdArrayに商品1を入れる $goodsIdArray[] = $info['goods_id']['goods_id2']; #goodsIdArrayに商品2を入れる $Params = array('goodIdArray' => $goodsIdArray) #inParams配列の「goodIdArray」という要素に$goodsIdArray(商品1と商品2)を入れる 無駄に変数を使いまくっているように見えますが、もともとのプログラムが複数のPHPファイルにまたがって動作しているため、変数がこれだけの数になっています。 そもそも、ある配列の要素に別の配列(複数要素をもつもの)は入れられないんでしょうか。 素人の質問でトンチンカンなことを言っているかもしれませんが、ご回答お願いします。

    • 締切済み
    • PHP
  • 空の配列を削除して、詰めていく。

    データベースから値を取ってくるとき、全て、同じ値が入ってくる場合があります。 $a = array(100,100,100,100,100)というような。 これを、array_uniqueで重複している値を削除したのですが、その際、print_rで見ると、 Array ( [4] => 100 ) と表示されました。つまり、キーが0ではなく、4となってしまっています。 array_uniqueで帰ってきた値が複数なら、さらにsortすることで0から始まる配列として並び替えられるのですが、1つしか帰ってこないとsortをしても、キーは変わらないようです。 この値を表示させるとき、countで配列の数を数え、さらにfor文でcountの数だけ回し、print $i;で表示させるようにしているのですが、上記のようにarray_uniqueで1つの値しか帰ってこないと、ページに値がきちんと表示できなくなってしまいます。 これを解決するために、空の要素を削除して、空白でない要素のキーを前に詰めてくれるような関数などを探しているのですが、何か方法などありますでしょうか? Array ( [4] => 100 ) が Array ( [0] => 100 )となるようにしたいのです。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • 配列データのMySQLへの登録

    下記の配列のデータをMySQLのデータベースに登録をしたいと思っています。 (参考)に記述しています内容で実行をしましたが、1つ目のデータしか登録がされず、 for文なども考え試行錯誤していましたが、うまく実行できない状況であります。 登録のための方法をご教授いただければと思います。よろしくお願いします。 array(3) { [0]=>"146-0082" [1]=>"東京都大田区" [2]=>"田中さん" array(3) { [0]=>"120-0015" [1]=>"東京都足立区" [2]=>"山田さん" -------------------- (参考) $sql = ('insert into table (number, adress, name) values (:number, :adress, :name)'); $stmt = $dbh->prepare($sql); $params = array( ":number" => $data[0], ":adress" => $data[1], ":name" => $data[2] );

    • ベストアンサー
    • PHP
  • 配列の要素の組み合わせ

    下記のような前提となる配列と、その配列を使った子要素の組み合わせを得られるファンクションを作成しようとしているのですが、なかなかうまく思いつきません。 どのようにしたら可能になりますでしょうか? 【前提】==================== $arr_lst = array( array( 'aaa', 'bbb', ), array( 'AAA', 'BBB', ), array( '111', '222', ), ); 【期待する結果】==================== 'aaa' 'bbb' 'AAA' 'BBB' '111' '222' 'aaa'-'AAA' 'aaa'-'BBB' 'aaa'-'111' 'aaa'-'222' 'bbb'-'AAA' 'bbb'-'BBB' 'bbb'-'111' 'bbb'-'222' 'AAA'-'111' 'AAA'-'222' 'BBB'-'111' 'BBB'-'222' 'aaa'-'AAA'-'111' 'aaa'-'AAA'-'222' 'aaa'-'BBB'-'111' 'aaa'-'BBB'-'222' 'bbb'-'AAA'-'111' 'bbb'-'AAA'-'222' 'bbb'-'BBB'-'111' 'bbb'-'BBB'-'222' 以上、よろしくお願い致します。

    • ベストアンサー
    • PHP