op 表示深受其害!(狗头
|
1
能意识到 list 和 object 的区别,这一点已经比很多 phper 强了(狗头
|
|
neutrinoSep 12, 2023 via Android
2
index reset 了也有问题,原来的 index 不能用了
|
|
fuchish112Sep 12, 2023
3
array_values 一下
|
|
4
还不是为了兼容你在
``` foreach ($arr as $k=>$v) { ... unset($arr[$k]); ... } ``` 里这种写法,如果 unset 后 index 会 reset ,那么后面的循环$k 会乱套。 |
|
justfinduSep 12, 2023
5
啊 深受其害就要骂它没有为你专人定制吗?
|
|
miaotaiziSep 12, 2023
6
多研究, 少抱怨
|
|
veikeSep 12, 2023
7
最恶心的不是美元符号 和 -> ?
|
|
ganbuliaoSep 12, 2023
8
php 的数组其实是 object list 是用 object 模拟的 学的时候很爽 但是你用其他语言的数组理解使用的时候 会有一些苦恼吧
|
|
9
不要张嘴就恶心,你写一个比他好的,或者提出你更好的解决方案,你也可以去提交 PR https://github.com/php/php-src
|
|
cwccSep 12, 2023
10
这是优势啊,各种处理方式都有,可以保留 key ,也可以不保留 key 。主要是 array 相关的内置方法确实多,然后所有有关数组、字典的东西都揉进去变成数组,如果不是只接触 PHP ,还要同时写别的语言,一开始可能会感觉有点坑。但时间长了还好,只能说是 PHP 太灵活了,能把 PHP 写得很好很优雅的人也很少。
|
|
crynocrySep 12, 2023
11
有 ds 扩展里面有 Vector 和 Map 还有各种细分数据结构 .. 看你愿不愿意用了
|
|
12
这句 [转 json 后变成了一个 object] ,应该是变成了 json 字符串吧?
json_decode 方法的第二个参数可以控制「 json 字符串」是转成 array 还是 object 。 在 php 里 object 和 array 的 “index” 都可以是数字 |
|
d3jsSep 12, 2023
13
哈哈,好久没看到 PHP 的帖子了
|
|
zh3256Sep 12, 2023
15
php 的数组本来就区分索引数组和关联数组,. 通过 unset, filter, unique 之类的方法破坏了数组连贯性之后就自动变为关联数组了.虽然这么设计有点实用主义, 但是最起码看下怎么用的再喷吧.
|
|
braderSep 12, 2023
16
虽然我不研究这几个函数的底层,但是有没有可能是官方出于性能考虑而不 reset 来增加开销?因为很多时候不需要 reset 的使用场景,而需要的时候,又有内置的 array 系列函数可供使用
|
|
zilan2abvSep 12, 2023
17
@darklinden php 就是创造了 array 这一种类型,把 list 和 object 糅合在一起,怎么区分我不管,好用就行了 🐶
|
|
coderzhangsanSep 12, 2023
18
这恰恰说明,你对 php 数组底层实现不了解,可以去看看 php 内核剖析数组篇;当然你还可以用 php 内置 SPL 数据结构类实现你的需求。
|
|
19
还以为又有什么高论
|
|
lifeintoolsSep 12, 2023
20
多研究,少抱怨。自己菜别怪语言
|
|
lschoSep 12, 2023
21
能意识到 list 和 object ,但是却不愿意看一下 json_encode 的文档?
https://www.php.net/manual/en/function.json-encode.php 第二个参数干什么用的? |
|
well775397252Sep 12, 2023
22
?我倒觉得符合逻辑,数组本来就是 hash table 实现的
|
|
23
我们公司的半桶水 phper 就这么给前端返回数据的,某个字段有数据的时候是数组,没有数据的时候是{},丢
|
|
x86Sep 12, 2023
24
可能爽的时候你没看到。。。
|
|
qeqvSep 12, 2023
26
@darkengine 空数组用 json_encode 默认不就是是 [] 吗
|
|
qeqvSep 12, 2023
27
array_values
|
|
gym345600Sep 12, 2023
28
套用一个公式:如查你觉得不好,可以改善它啊
|
|
NjcyNzMzNDQ3Sep 12, 2023
29
借用下 20 楼的话`还以为又有什么高论`
没 filter ,unset ,unique 你这些前辈写的好用函数,你都要自己写呢,那时候出问题看你赖谁 🐶 |
|
mrpzx001Sep 12, 2023
30
水平不够怪语言
|
|
angryPHPSep 12, 2023
31
什么?还有人用 PHP ?
|
|
duan602728596Sep 12, 2023
32
所以说大家都选择了更好的
|
|
darkengineSep 12, 2023
33
@qeqv 包了一个查数据库的函数的返回值组装起来,不知道具体他代码咋写的
|
|
sdwgyzyxySep 12, 2023
34
😂 终于见到同僚了,我以为 php 从 v2 绝迹了。
|
|
wu00Sep 12, 2023
35
@darkengine 对接过第三方平台的开放接口,就是这种情况,当时把我恶心坏了...
|
|
SwimmingDragonSep 12, 2023
36
如果是必须要用,那就好好研究,就算有点瑕疵,也可以自己优化。如果非必须,那你还用了干嘛?换一个自己熟悉的呗
|
|
flyqieSep 12, 2023 via Android
37
|
|
xiangyuecnSep 12, 2023
38
上古时期的 asp+vbscript 的引用类型的数组 比 php 的值类型的数组好使😂
asp+jsscript 简直要吊打当代任何弱类型语言(比 nodejs 领先 20 年),可惜已经凉透了😂 |
|
darkengineSep 12, 2023
39
@flyqie 很有可能,我记得他们用的还是 ThinkPHP 5 ,工具扫出来一堆漏洞,笑死
|
|
heysnakelisSep 12, 2023
40
@darkengine 估计查到数据是返回的数组,没查到数据的时候给的空 object😂
|
|
xiaoqiSep 12, 2023
41
那就手动 reset 一下咯
|
|
shawn4meSep 12, 2023
42
咱就是说,有没有那么一丝丝的可能,是你太菜,这种问题的解决方法有很多,而你一个都没找,直接骂到了语言层面,这不合适吧。。。
|
|
adoalSep 12, 2023
43
吐槽 PHP->理解 PHP->热爱 PHP->颠覆 PHP
|
|
stabcSep 12, 2023
44
json_encode 有第二个参数的。PHP 强大到你无法想象
|
|
lschoSep 12, 2023
45
@aababc 谁说 php 没有纯数组啊。。。php 数组分为索引数组(就是你说的纯数组)和关联数组,类似别的语言的 list 和 map ,只不过 php 属于动态类型,索引数组在破坏连续性或指定键的时候,会自动转换为关联数组。。。感觉你们都不看文档啊
https://www.php.net/manual/zh/language.types.array.php |
|
akiraSep 12, 2023
46
不错不错,居然还有人再用 php
|
|
SeanfuckSep 12, 2023
47
go 的空数组转 json 也不按套路来啊
|
|
zhuzhibinSep 13, 2023 via iPhone
49
快跑 竟然还有人用 php
|
|
jameskongaworkSep 13, 2023
51
@tokeytush 我先替楼主回你:"鸡蛋不好吃难道我要下蛋吗“
|
|
xbchaonbaSep 13, 2023
52
你不会是不知道 json_decode 可以传第二个参数吧,你传个 true 返回的就是数组啊
|
|
realpgSep 13, 2023
54
@darkengine #39
可别提工具扫出来了 珍爱生命远离漏扫 前前前公司被全省通报批评,拒不整改漏洞 因为当时 nginx 版本最新是 1.22 然后 1.22 爆出了漏洞,爆出的时候已经有官方补丁修复了,版本号是没变的 但是漏扫只要看到 nginx 1.22 就报你有漏洞 |
|
yKXSkKoR8I1RcxaSSep 23, 2023
55
人菜怪工具
|
|
fincciSep 27, 2023
56
真是布袋和尚说不得,php 的数组根本就不是 list ,就是 map 而已,所谓的索引数组在 php 里面就是个笑话,一不小心就要转变为关联数组了
本来就是设计问题,跟人菜不菜没有任何关系,每当操作索引数组的时候都得小心翼翼,要不就是只能用 push/pop ,array_slice 几个很有限函数来操作,或者用 filter ,unset 之类的搞完之后用 array_values 转一下,问题是能解决,但是心智负担还是很重,代码也很丑陋 |
|
ZoROct 20, 2023
57
啊这 建议多看手册,这是个 phper 都知道的吧,那种半吊子的 你换别的语言他也会吐槽的 哈哈哈
|