php reference

通常寫 C, C++,
說要不用到指標或是C++參照,
好像不太可能,
php 就真的不常用到,
不過指標真的是個好用的東西,
昨天遇到的問題是,
類似 wordpress的分類可以有階層架構,
但對應關係在資料庫是一維的,
怎把一維的資訊轉換成皆成架構呢?
這問題以前在寫C++有遇過,
那時就是用指標的解法,
寫 php 就換了腦袋了 XD,
幸好今天起床有想起來,
php 也有 reference 可用~
總之這時 php reference 就是好用的時候了,
code 如以下,


array(
'parent_id' => null,
'name' => '0',
),
'b' => array(
'parent_id' => null,
'name' => '1',
),
2 => array(
'parent_id' => 1,
'name' => '2',
),
3 => array(
'parent_id' => 4,
'name' => '3',
),
4 => array(
'parent_id' => 'b',
'name' => '4',
),
);

$pivot = -1;

foreach ($arr as &$value) {
$value['children'] = array();
if (is_null($value['parent_id'])) {
$pivot += 1;
continue;
}
if (!array_key_exists($value['parent_id'], $arr)) {
continue;
}
$arr[$value['parent_id']]['children'][] = &$value;
}

print_r(array_slice($arr, 0, $pivot + 1, true));

大地神曲

    太初之子啊!你可知道神是誰?

    你可知道大地歌曲的意義?

    你可想如神一樣有分別善惡的能力?

    蔚藍的長空,無垠的大地,

    我將教會你分辨東西;

    巍峨的高山,清涼的溪流,

    我將教會你誰高誰低。

    如果你願意,啟開雙眼,

    世界本來大小對立、黑白分明;

    如果你願意,想想自己,

    世界本無音樂笑聲與恩情。

    神不是天,神與天不一;

    神不是地,神與地不一;

    神不是百川眾流,不是萬鳥群飛。

    神高居穹蒼,與萬物截然對立。

    …………………………

    太初之子啊!饒恕無知的世人吧!

    你是光耀的天堂,你是黑暗的地獄!

    在女武神的呻吟中,

    請停下駕禦著黑魔龍的黃金戰車,

    請不要將這已經顫抖的宇宙毀滅!

ext4 一個目錄下可以擁有的檔案數目

其實限制不在於單一目錄,
而是是否達到 inode 上限,
inode 上限不是固定的,
不過在 mkfs 階段可以指定,
大於 block 數量多出的 inode 會無法使用,
到了 ext4 後,
解除了 ext3 最大子目錄 32000 限制,
但是一樣會受到 inode 上限限制.
當然這點是可以理解的,
因為目錄本身也會佔據 inode.