PHP 板


LINE

看板 PHP  RSS
首先小弟很敬佩您一直很有热诚回答许多板友的问题, 这点是小弟所作不到的, 关於「函式本身作用」的部份您的说明大致上没有什麽问题, 但是很多观念且让小弟厘清一下: ※ 引述《tkdmaf (皮皮快跑)》之铭言: : 还是专文回您好了。 : $row = mysql_fetch_row(); : 就是按照栏位的顺序以阵列从0开始的方式传递每一栏的资料。 : 基本而言这个习惯是针对其他语言转过来的人而用的。 : 因为php的阵列是比较特立独行在於他可以用「文字」做为阵列的索引名称。 : 但事实上反过来说,习惯於使用栏位名称做为取值的人可能就很不习惯这个做法。 : 取出来的是$row[0],$row[1]...... 基本上,一般语言里通常会有 Array / Hash Table 两种不同的结构, 但在 PHP 的程式语言里这两种结构的界定很模糊, 或着根本一点说,他们在表徵上都是以同样的形式出现 - 也就是阵列。 所以请不要误导别人,杂凑是专属於 PHP 的,也不需要自己去下定义: 基本而言这个习惯是针对其他语言转过来的人而用的 因为php的阵列是比较特立独行在於他可以用「文字」做为阵列的索引名称 : $row = mysql_fetch_assoc(); : 就是按照栏位的名称做为阵列的索引名称。 : 习惯php以名称取阵列名的人可能就很习惯这种用法。 : 取出来的是$row['name'],$row['address'],$row['sex'].....等 : $row = mysql_fetch_object(); : 将资料以栏位名称做为资料物件的属性名称。 : 习惯於物件导向操作的人就会习惯这样的模式。 很遗憾,小弟也很习惯物件导向,但我几乎不使用这个方式, 您知道物件跟杂凑在解开後所占用的资源差异吗? 当我们反覆产生 100 个 object 和 100 个 hash 或 array 时可能没有什麽感觉, 但是良好的节约习惯常常会在不经意的地方救自己一命, 并不是说不要使用物件型态的传递方式, 重点是要慎选当前状况最适合使用的资料类型。 : 当然啦!这个资料物件是程式产生的所以你除了属性之外也没办法能对他做其他的事。 : (比如让这个资料物件提供方法这种事当然不行。) : 不过php比较诡异的地方就是说……… : foreach()除了可以解阵列……他连物件的属性都可以解。 不知道您是否清楚,foreach 在对 object 所作的处理实际上是什麽, 有兴趣的人可以参考 http://php.net/manual/en/language.oop5.iterations.php 简单来说,实际上是 object 去提供了自己被巡回的能力,并没有什麽诡异的地方, 基本上在离我们很近的 javascript 和离我们很远的 java 以及其他众多的 程式语言中,物件本身都有实做巡回的能力,所以这不是 不过php比较诡异的地方就是说……… foreach()除了可以解阵列……他连物件的属性都可以解。 : 基本上不建议使用mysql_fetch_array()的原因即在於他是将 : mysql_fetch_row()和mysql_fetch_assoc()两种都取。 : 这麽一来在计算阵列或是用foreach去解的话等於是解两倍的资料。 : 当然就容易发生一些不该发生的错误。 不知道您是否清楚 mysql_fetch_array 一共提供了两种参数输入, 其中第二个参数可以指定回传类型 MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH 关於 array 和 hash 在使用上各有各的优缺点, 只要理解函数回传的资料,并选择当前状况最适合使用的资料类型, array 并不一定会比 hash / object 难用 : 小知识: : 资料类别的定义方式: : <?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 -- 如同小弟一开始所说,很敬佩您热心回答的热诚, 大家在板上讨论不同主题这麽多次了, 小弟很了解您是听不进去的,所以这篇主要也只是帮板友厘清一些观念而已 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.31.89.70
1F:推 tkdmaf:好东西好观念我怎麽会不听呢?XDD 07/28 11:00
2F:→ tkdmaf:我知道mysql_fetch_array()有第二个函式。 07/28 11:01
3F:→ tkdmaf:打错!参数。(就说了我心不到手到。) 07/28 11:01
4F:→ tkdmaf:不过,对於初学或是以开发程式为目的的人而言。 07/28 11:02
5F:→ tkdmaf:讲得太过原理的东西....似乎合适用於改善功能效率的研究。 07/28 11:03
6F:→ tkdmaf:但并不合适在一开始就要他们接受深入探讨吧。 07/28 11:03
7F:→ tkdmaf:至於资料类别...小知识有CODE不是很清楚了? 07/28 11:08
8F:→ tkdmaf:或是像CI那样的db_query(内置解出资料方法的资料类别) 07/28 11:09
9F:→ tkdmaf:如果这样要哭哭,ci的db_query你叫他情何以堪? 07/28 11:11
10F:推 JoeHorn:错误的观念比没观念还要糟糕... 07/28 21:16
11F:推 tkdmaf:知道问题会改,比被指责不改还糟糕! 07/28 22:01
12F:→ JoeHorn:建议楼上重新看一下上面这句,训练一下逻辑... 07/28 22:26
13F:→ gpmm:自从之前第几代语言後,物件就算被滥定义/使用也已经不稀奇了 07/29 01:51
14F:→ tkdmaf:所谓「滥定义/使用」的标准是?能给个量化的资料吗? 07/29 08:14
15F:→ gpmm:请你解释/定义何谓你所谓的资料类别 07/29 11:04
16F:→ superpai:建议引言再加上一些符号不只是颜色 我看到第二次才看出 07/29 11:50
17F:→ superpai:那是要反驳的点. 07/29 11:50







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP