人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPで
array(1,2,3,4)とarray(a,b,c)があります。
この二つを合成して、
array(a,b,c,4)というのを作りたいのですが、ループを使わずに行う方法はないでしょうか。

●質問者: nikita_r
●カテゴリ:コンピュータ インターネット
✍キーワード:PHP ループ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● toohigh
●27ポイント

$a=array(1,2,3,4);

$b=array("a","b","c");

$c=$b+$a;

var_dump($c);

・・・で、

array(4) {

[0]=>

string(1) "a"

[1]=>

string(1) "b"

[2]=>

string(1) "c"

[3]=>

int(4)

・・・という結果になります。

http://php.plus-server.net/language.operators.array.html

◎質問者からの返答

ほんとだ。ありがとうございます。


2 ● m-nisi
●27ポイント

array_spliceという関数を使えば出来ますよ。

http://www.7key.jp/program/php/array_splice.html

◎質問者からの返答

ありがとうございます。みてみます。


3 ●
●26ポイント

こんな感じでいかがでしょうか。

ループは使っていません。

<?php
error_reporting(E_ALL);
// 配列の定義
$array_add = array( "1", "2", "3", "4", "5", "6" ); // 足す配列
$array_org = array( "a", "b", "c" ); // 元となる配列
// 元配列の方が小さい場合の処理
if (count($array_org) < $array_add) {
 // 元配列にarray_sliceで取得した足す配列の余った部分をマージする
 $array_result = array_merge($array_org, array_slice($array_add,count($array_org)));
 print_r($array_result);
// 元配列が足す配列以上の大きさの場合の処理
} else {
 $array_result = $array_org;
 print_r($array_result);
}
?>

[参考URL]

◎質問者からの返答

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ