拙劣的PHP,都来讨论下

Spectecular 2015-01-27 02:44:05
最近开始学习PHP,但PHP拙劣的语法,特别令人讨厌,为什么会是这样呢。就如下面这样:$mysqli=new mysqli("localhost","root","","test");
if ($mysqli->connect_errno) {
printf("connect failed:%s\n",$mysqli->connect_error);
//die('Connect Error: ' . $mysqli->connect_error);
}else{
$query="select * from students;";
$query.="select name,age,sex from students";
if($mysqli->multi_query($query)){
do{
if($result=$mysqli->store_result()){ //拙劣的PHP :两个同样名字的方法竟然返回类型差别这么大,哪怕都返回对象也行啊
echo "类型:".gettype($result);//返回对象
}
}while($mysqli->next_result());
}else{
}


/*
$query="select name,age,sex from students";
if($stmt=$mysqli->prepare($query)){
$stmt->execute();
$result=$stmt->store_result();//拙劣的PHP :两个同样名字的方法竟然返回类型差别这么大,哪怕都返回对象也行啊
echo "类型:".gettype($result);//返回布尔类型
}
*/
...全文
451 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
samの程序 2015-02-21
  • 打赏
  • 举报
回复
引用 7 楼 jiangbai333 的回复:
没有拙劣的语言,只有装比的开发者!
说得好
luojxun 2015-02-02
  • 打赏
  • 举报
回复
mysqli_stmt::store_result 是调用mysqli_stmt类的store_result 静态方法 mysqli->store_result() 是调用类mysqli里的store_result方法 这都不是一回事,返回不同很正常。 另为了让楼主看清楚 mysqli_stmt_store_result mysqli_store_result 并排写 这两个函数名一样吗? $stmt->store_result() $mysqli->store_result() 如果楼主认为这是一样的,那还请楼主静下心好好从0开始学习什么是类。
luojxun 2015-02-02
  • 打赏
  • 举报
回复
很多东西不是刚开始就急着下定论的。特别是初学,不能急躁,抱着急躁的心态是学不好的。 php4之前比较像过程性的c语言。5以后偏重面向对象。
五月1990 2015-02-01
  • 打赏
  • 举报
回复
学习任何一样东西 摆正心态是关键
Spectecular 2015-01-31
  • 打赏
  • 举报
回复
引用 19 楼 huajie1988 的回复:
[quote=引用 18 楼 Spectecular 的回复:] [quote=引用 16 楼 xuzuning 的回复:] 这与是否弱类型无关!强类型语言一样可以改变函数(方法)返回的数据类型
int a(int v) {
  return 1;
}

char* a(char* s) {
  return "abc";
}
关键那是PHP的类库函数啊,你见过有哪个强类型的语言这样设计吗[/quote] 你真的学过其他语言?[/quote] 有比较才有结论!
Spectecular 2015-01-31
  • 打赏
  • 举报
回复
引用 20 楼 xuzuning 的回复:
别的不说,你就看看这个帖子 http://bbs.csdn.net/topics/390978933 java 的 何况 mysqli 和 mysqli_stmt 还是两个类 [quote=引用 18 楼 Spectecular 的回复:] [quote=引用 16 楼 xuzuning 的回复:] 这与是否弱类型无关!强类型语言一样可以改变函数(方法)返回的数据类型
int a(int v) {
  return 1;
}

char* a(char* s) {
  return "abc";
}
关键那是PHP的类库函数啊,你见过有哪个强类型的语言这样设计吗[/quote][/quote] 他那是一个例子而已,再说java是支持同名方法重载的,我不理解的是为什么 mysqli_stmt->store_result()明明返回布尔类型,还非得起这么个名字,他和mysqli ->store_result()都是执行数据库查询后的操作,那为什么mysqli ->store_result()就是直接获取的结果集,而mysqli_stmt->store_result()就得用另外的方法重新去读取结果集,就不能直接获取吗,这是为什么呢?
knife_s 2015-01-31
  • 打赏
  • 举报
回复
比如说c#中的toString 有的类是返回类名,有的是返回字符串, 这不都一样吗
晟蒷 2015-01-31
  • 打赏
  • 举报
回复
认真点吧。
xuzuning 2015-01-30
  • 打赏
  • 举报
回复
这与是否弱类型无关!强类型语言一样可以改变函数(方法)返回的数据类型
int a(int v) {
  return 1;
}

char* a(char* s) {
  return "abc";
}
Spectecular 2015-01-30
  • 打赏
  • 举报
回复
引用 14 楼 Novolee 的回复:
为什么非要返回一样类型的结果呢? 不返回一样类型的就拙劣了吗? 你批评它拙劣,你得先说出拙劣的原因。
这只是一个方面而已,其他还有很多,不能一一列举,弱类型的语言就是这样的,有利有弊
xuzuning 2015-01-30
  • 打赏
  • 举报
回复
别的不说,你就看看这个帖子 http://bbs.csdn.net/topics/390978933 java 的 何况 mysqli 和 mysqli_stmt 还是两个类
引用 18 楼 Spectecular 的回复:
[quote=引用 16 楼 xuzuning 的回复:] 这与是否弱类型无关!强类型语言一样可以改变函数(方法)返回的数据类型
int a(int v) {
  return 1;
}

char* a(char* s) {
  return "abc";
}
关键那是PHP的类库函数啊,你见过有哪个强类型的语言这样设计吗[/quote]
huajie1988 2015-01-30
  • 打赏
  • 举报
回复
引用 18 楼 Spectecular 的回复:
[quote=引用 16 楼 xuzuning 的回复:] 这与是否弱类型无关!强类型语言一样可以改变函数(方法)返回的数据类型
int a(int v) {
  return 1;
}

char* a(char* s) {
  return "abc";
}
关键那是PHP的类库函数啊,你见过有哪个强类型的语言这样设计吗[/quote] 你真的学过其他语言?
Spectecular 2015-01-30
  • 打赏
  • 举报
回复
引用 16 楼 xuzuning 的回复:
这与是否弱类型无关!强类型语言一样可以改变函数(方法)返回的数据类型
int a(int v) {
  return 1;
}

char* a(char* s) {
  return "abc";
}
关键那是PHP的类库函数啊,你见过有哪个强类型的语言这样设计吗
智商众筹 2015-01-30
  • 打赏
  • 举报
回复
引用 15 楼 Spectecular 的回复:
[quote=引用 14 楼 Novolee 的回复:] 为什么非要返回一样类型的结果呢? 不返回一样类型的就拙劣了吗? 你批评它拙劣,你得先说出拙劣的原因。
这只是一个方面而已,其他还有很多,不能一一列举,弱类型的语言就是这样的,有利有弊[/quote] 如果抱着排斥的心态学习语言,多少年也学不会 为什么php会火,想必它一点都不拙劣,相反很智能 为什么php会被很多语言一起鄙视(嫉妒),一个菜鸟学一个月就会做企业站或者个人主页,还包括着html+css 弱类型有利有弊?用惯苹果的人绝对不主动碰windows,用惯弱类型再回强类型也都恨不得自己写个zval
李睿_Lee 2015-01-29
  • 打赏
  • 举报
回复
为什么非要返回一样类型的结果呢? 不返回一样类型的就拙劣了吗? 你批评它拙劣,你得先说出拙劣的原因。
断点Bingo 2015-01-29
  • 打赏
  • 举报
回复
这种讨论拙劣老生常谈的问题就像评价一个菜好不好吃一样,每个人都有不同的看法,没什么意义
Spectecular 2015-01-29
  • 打赏
  • 举报
回复
引用 7 楼 jiangbai333 的回复:
没有拙劣的语言,只有装比的开发者!
引用 10 楼 chinaphp2010 的回复:
好和坏是比较来的,说到比较那只有行家,即精通的人才有资格评论,你啥也不会,上来就说拙劣,不知你思考没有,你有没有这个资格呢?这里先不说php,就说别的事也是一样的,你不是行业你怎么有这个评审能力和资格呢? 假如你的逻辑是对的,那么,可以得出这样的结论来,只要你不会的你都可以认为是拙劣的,你不感觉你的思维很幼稚吗?你不感觉你的思想很拙劣吗? 自己不会就认为拙劣,真是太可笑了,希望你别在这里丢人现眼了,不会没人笑话你,但是,不会还装逼,那就是人品的问题了.
智者见智,仁者见仁,在你遇到更好的东西之前,你总认为自己第一次遇到的东西是最好的
Spectecular 2015-01-29
  • 打赏
  • 举报
回复
引用 5 楼 jordan102 的回复:
遇到什么问题了? 没有看到 两个同样名字的方法
store_result()
chinaphp2010 2015-01-28
  • 打赏
  • 举报
回复
好和坏是比较来的,说到比较那只有行家,即精通的人才有资格评论,你啥也不会,上来就说拙劣,不知你思考没有,你有没有这个资格呢?这里先不说php,就说别的事也是一样的,你不是行业你怎么有这个评审能力和资格呢? 假如你的逻辑是对的,那么,可以得出这样的结论来,只要你不会的你都可以认为是拙劣的,你不感觉你的思维很幼稚吗?你不感觉你的思想很拙劣吗? 自己不会就认为拙劣,真是太可笑了,希望你别在这里丢人现眼了,不会没人笑话你,但是,不会还装逼,那就是人品的问题了.
Spectecular 2015-01-28
  • 打赏
  • 举报
回复
引用 2 楼 wander_wind 的回复:
这正是弱类型语言的优势之一
这有什么优势啊
加载更多回复(8)

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧