配列関数 2022年10月02日 14:39   編集
入力配列から単一のカラムの値を返す
ということだが、多次元配列から特定のキーの値だけを取り出して新たな配列を作ることができる。例えば
$data['Y4vC8DOE'] = array('title'=>'strpos', 'category'=>'String関数');
$data['O3LPSQ4p'] = array('title'=>'preg_match', 'category'=>'PCRE関数');
$data['D7gFDJzL'] = array('title'=>'date_create', 'category'=>'日付・時刻関数');
$data['zQVvImlQ'] = array('title'=>'array_multisort', 'category'=>'配列関数');
$data['EJTCFyBt'] = array('title'=>'is_array', 'category'=>'変数操作関数');
のような多次元配列$dataがある場合、
$array = array_column($data, 'category');
print_r($array);
の結果は
続きを読む
counter:356
配列関数 2017年04月05日 10:29   編集
配列の差を計算する
配列を他の配列と比較し、 他の配列には存在しない要素だけを返す。
$list1 = array(1,7,3,4,5);
$list2 = array(1,2,3,4,5);
print_r( array_diff($list1,$list2) );
の結果は
Array ( [1] => 7 ) 
counter:2,884
配列関数 2016年10月05日 15:40   編集
配列のキーと値を反転する

配列の場合、値が重複していても問題ないが、同じキーの配列の値は1個だけとなる。
したがって元の配列で値が重複していた場合、反転すると同じキーが複数存在することになるが、この場合、最後のキーだけが採用されることになる。
$ar = array('ab'=>'xy', 'cd'=>'yz', 'ef'=>'xy' );
$ar2 = array_flip($ar);
foreach ($ar2 as $key=>$val) {
echo "$key → $val\n";
}
実行結果
xy → ef
yz → cd
counter:2,706
配列関数 2017年01月26日 16:34   編集
配列の共通項を得る
$array1 =array('apple','melon','banana','peach','orange');
$array2 = array('melon','lemon','peach');
print_r(array_intersect($array1,$array2));
実行結果
Array
(
[1] => melon
[3] => peach
)
counter:2,855
配列関数 2016年10月03日 20:08   編集
複数の多次元の配列をソートする

本来の使用法とは違うが、シュウォーツ変換風の使用例
$list = array('abc,52,オレンジ','def,32,りんご','hij,6,バナナ','klm,21,キウイ');
$sort = array();
foreach ($list as $_) {
$tmp = explode(',',$_);
if (isset($tmp[1])) {
$sort[] = $tmp[1];
}
}
array_multisort($sort,SORT_ASC,SORT_NUMERIC,$list);
foreach ($list as $_) {
echo "$_\n";
}
実行結果
hij,6,バナナ
klm,21,キウイ
def,32,りんご
abc,52,オレンジ
counter:2,876
配列関数 2017年02月08日 20:48   編集
配列の一部を展開する
元の配列は変わらない。
$input = array("a", "b", "c", "d", "e");

$output = array_slice($input, 2); // "c", "d", "e" を返す
$output = array_slice($input, -2, 1); // "d" を返す
$output = array_slice($input, 0, 3); // "a", "b", "c" を返す
counter:2,935
配列関数 2021年04月15日 16:56   編集
別名:arsort
キーと値の関係を維持して、値でソートする。asortは昇順、arsortは降順
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
の結果は
c = apple b = banana d = lemon a = orange
counter:568
ファイルシステム関数 2017年01月26日 16:29   編集
パスの最後にある名前の部分を返す
echo basename(getcwd());
counter:2,997
2020年03月27日 13:45   編集
戻る

bbs.phpのヘルプ

掲示板を作成する
■ファイルアップロード、返信、過去ログ生成、隠しパラメータ送信によるスパム投稿対策、スライドロックによるスパム投稿対策
オプションは[[bbs('lock=1|max_log=100|item=thread')]]のように指定

指定できるオプション

form (現在の設定はform=up)
form=up(フォームを上に表示) form=down(フォームを下に表示)
item (現在の設定はitem=time)
デフォルトの記事表示順を指定
item=time(投稿順) item=thread(スレッドごとに表示)
max_log (現在の設定はmax_log=100)
現行ログの保存数。これを超えると過去ログに移動。
例 max_log=50
max_past (現在の設定はmax_past=100)
過去ログに保存する記事数。これを超えると過去ログファイルを新たに作成。
例 max_past=100
page_line (現在の設定はpage_line=10)
1ページに表示する記事数。これを超えると次のページに表示
例 page_line=10
lock (現在の設定はlock=1)
スライダで投稿ボタンをロックする lock=1で表示する
例 lock=1
perm_tag (現在の設定はperm_tag=)
許可するタグ。複数ある場合は;(セミコロン)で区切る。
有効になるのはタグ名だけを<>で囲った場合とその閉じタグだけ。styleなどは指定できない。
例 perm_tag=pre;h1
nameless (現在の設定はnameless=id)
投稿者名未入力で投稿した場合、表示される名前を指定。'id'にすると、日付とIPアドレスを元にしたIDを表示
例 nameless=id
titleless (現在の設定はtitleless=無題)
タイトル未入力で投稿した場合、表示されるタイトルを指定。
例 titleless=タイトルなし
hide_bbs (現在の設定はhide_bbs=0)
デフォルトでフォームと投稿内容を隠す hide_bbs=1で隠す
例 hide_bbs=1
show_text (現在の設定はshow_text=)
添付したtextファイルの内容を表示する show_text=txt;phpのように表示するテキストファイルの拡張子を指定する。複数ある場合は;(セミコロン)で区切る
例 show_text=txt;log

counter:2,980