delicious! newsing! buzzurlにブックマーク! Yahoo!ブックマーク ライブドア - この記事をクリップ! このエントリーを含むはてなブックマーク

php :: 2配列を合体 :: 連続する文字列の○番目にキャプションを入れる関数

2007/8/13 (Mon) at 9:51 am

エントリのアイコン

こんな配列があったとして↓





$array = array(

 "string 1",
 "string 2",
 "string 3",
 "string 4",
 "string 5"

);

1行づつが<tr>〜</tr>であったり、<div>〜</div>であったりする場合が多いかと思うのですが、そのところどころに見出し的な文字列を挿入したいときありますね。都合上、配列の数が変わったりしつつ、常に『上から○番目に』キャプションを入れたい、みたいな。こんなかんじの配列と合わせたいの↓

$caption = array(

 0 => "caption 1",
 3 => "caption 2"

);

これのkeyの0(ゼロ)は人間的にいうところの「1行目にコレを入れて!」を意味し、3は人間的にいうところの「4行目にコレを入れて!」を意味します。余談ですが、日常生活においてゼロから順番を数えるようになったら、それはかなり壊れてるといえるので、半年くらいコンピュータから離れたほうがいいですよw。

んで、キャプションの話ですが、(広告を入れるとかで)『常に決まった行数おきに入れていく』なんていうのならまたぜんぜんちがうとおもうのですが、今回のテーマは『上から○番目にコレ、×番目にアレを挿入せよ』という話です。キャプションがついてる行ごとにグループわけして多次元配列にするのがいちばんわかりやすいなとおもうんですが、都合上、元データがそうなってないときもあったりして。あるいは、それらはグループわけしづらい内容だったりして、ページに表示する度にゴロゴロ変わるんだが、常に「『何番目』は固定されている」みたいなケース。とにかく、上に挙げた2つの配列をササッと合体させたいワケです!とにかくね、それだけやってくれればパチンコ行こうが外で浮気しようが構いませんからとにかくコレだけお願いします!そうじゃないと実家に帰らせて頂きます!っていう心境なんです。こういうときの処理はいろんなやり方があると思いますが、不肖、私、こんなのでやってます↓

上に挙げた2つの配列を渡すとコミコミ合体後の配列を返します。こんなかんじに配列を渡すと↓

$array = put_caption2array($array, $caption);

こんなふうになります↓

[出力結果]

Array
(
    [0] => caption 1
    [0x] => string 1
    [1x] => string 2
    [2x] => string 3
    [3] => caption 2
    [3x] => string 4
    [4x] => string 5
)

ほかにもこんなやりかたがあるよ〜てのがあったらおしえてちょうだいネ。

delicious! newsing! buzzurlにブックマーク! Yahoo!ブックマーク ライブドア - この記事をクリップ! このエントリーを含むはてなブックマーク

コメント・プリーズ!

お名前 (your name)
(required)
url
(optional) ※公開されます。
メールアドレス (email)
(optional) ※公開されません。管理者にだけわかります。
コメント (comment)
(required)

※クッキーに保存すると次回から入力を省略できるので便利ですが、お使いのコンピュータに情報が残りますので、公共のパソコンなどからアクセスするような場合はチェックをはずしたほうがよいでしょう。

※コメント中のhtmlタグは実体参照に変換されます。たとえば、『<』は『&lt;』というかんじになりますのでhtmlタグをそのまま書き込んでくださってオッケーです。

one-px-ffffff-tl one-px-ffffff-tr one-px-ffffff-bl one-px-ffffff-br

PROFILEcaption

藤居ヒロヤ。ウェブデザイナー/ウェブディレクター。ウェブデザインオフィス、3OT NET主宰。名古屋市中区。「優しいデザイン」「激しいデザイン」「正しいデザイン」「セクシーなデザイン」「泣けるデザイン」「もっともなデザイン」... 。あなただけのウェブデザインを丹精込めておつくり致します。見積り依頼等、お気軽にお問い合わせ下さい。

お問い合わせフォーム

RECENT ENTRIEScaption

RECENT COMMENTScaption

TOOLScaption

BOOKMARKScaption

RESOURCEScaption

ARCHIVEcaption