作者JoeHorn (每天都在公司玩OLG)
看板PHP
标题Re: [请益] mysql_fetch_array 取出的阵列数
时间Thu Jul 28 22:24:13 2011
※ 引述《tkdmaf (皮皮快跑)》之铭言:
上面的部份, gpmm 都说了...
谈一下物件观念。
: 小知识:
: 资料类别的定义方式:
: <?php
: class row{}
: $row = new row;
: $row->name = 'sam';
: $row->address = 'taipei';
: $row->sex = 'male';
: foreach($row as $key => $value){
: echo "{$key} => {$value}<BR>";
: }
: ?>
: 就会印出:
: name => sam
: address => taipei
: sex => male
与其要这样作物件,倒不如直接用 hash table,对系统的 overhead 会比较小。
例:
$row = array('name' => 'sam' , 'address' => 'taipei' , 'sex' => 'male');
一味的卖弄物件导向,只会浪费硬体资源,徒增使用者与维护人员的困扰。
(不然.. 身为新生代语言,为什麽 C# 要保留以前 C 在用的 struct ?)
但...什麽情况会需要这种物件呢?
1. 当你需要打包资料存取、运算方法(例:直接进行资料的 CRUD)。
2. 当你的资料想要进行保护(例: readonly)。
要在 PHP 玩物件前,请先作功课,了解物件导向的观念...
不少人都忽略了 magic methods:
http://www.php.net/manual/en/language.oop5.magic.php
这些 magic methods 确有其存在的必要性。
我曾对别人说过,「并不是物件、递回不好,而是要先思考使用的必要性」。
举递回来说... 算 fibonacci 数列,用阵列会比递回快很多。
例:
arr[0]=0;
arr[1]=1;
for ($i=2; $i<1477; $i++)
arr[$i]=arr[$i-1]+arr[$i];
--
Leo [joehorn]:~> make one lover for me
make: don't know how to make one. Stop
Leo [joehorn]:~> why?
why?: No match.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.37.131.114