PHP 最恶心的地方莫过于数组明明是一个 list,一些操作,比如 filter, unset, unique 去重等操作后, index 不会 reset,转 json 后变成了一个 object!

2023-09-12 12:53:55 +08:00
 HackerJax
op 表示深受其害!(狗头
5031 次点击
所在节点    PHP
57 条回复
xiaoqi
2023-09-12 18:06:40 +08:00
那就手动 reset 一下咯
shawn4me
2023-09-12 18:12:11 +08:00
咱就是说,有没有那么一丝丝的可能,是你太菜,这种问题的解决方法有很多,而你一个都没找,直接骂到了语言层面,这不合适吧。。。
adoal
2023-09-12 18:27:18 +08:00
吐槽 PHP->理解 PHP->热爱 PHP->颠覆 PHP
stabc
2023-09-12 18:31:51 +08:00
json_encode 有第二个参数的。PHP 强大到你无法想象
lscho
2023-09-12 19:24:30 +08:00
@aababc 谁说 php 没有纯数组啊。。。php 数组分为索引数组(就是你说的纯数组)和关联数组,类似别的语言的 list 和 map ,只不过 php 属于动态类型,索引数组在破坏连续性或指定键的时候,会自动转换为关联数组。。。感觉你们都不看文档啊

https://www.php.net/manual/zh/language.types.array.php
akira
2023-09-12 19:43:47 +08:00
不错不错,居然还有人再用 php
Seanfuck
2023-09-12 21:08:28 +08:00
go 的空数组转 json 也不按套路来啊
ruoge3s
2023-09-13 09:29:16 +08:00
@Seanfuck 那不是空数组,那是未初始化的变量...
zhuzhibin
2023-09-13 09:45:16 +08:00
快跑 竟然还有人用 php
aababc
2023-09-13 09:55:10 +08:00
@lscho 总的来说在 php 中 array 和 map 共用了同一个实现,没有办法彻底分离 array 和 map 这两个概念。
jameskongawork
2023-09-13 11:49:32 +08:00
@tokeytush 我先替楼主回你:"鸡蛋不好吃难道我要下蛋吗“
xbchaonba
2023-09-13 15:30:24 +08:00
你不会是不知道 json_decode 可以传第二个参数吧,你传个 true 返回的就是数组啊
realpg
2023-09-13 19:35:14 +08:00
@brader #16
不是性能考虑
是实用考虑
php 你可以在 foreach 遍历数组内部 unset 一个元素
realpg
2023-09-13 19:37:07 +08:00
@darkengine #39
可别提工具扫出来了
珍爱生命远离漏扫

前前前公司被全省通报批评,拒不整改漏洞

因为当时 nginx 版本最新是 1.22
然后 1.22 爆出了漏洞,爆出的时候已经有官方补丁修复了,版本号是没变的
但是漏扫只要看到 nginx 1.22 就报你有漏洞
yKXSkKoR8I1RcxaS
2023-09-23 16:38:22 +08:00
人菜怪工具
fincci
2023-09-27 08:51:25 +08:00
真是布袋和尚说不得,php 的数组根本就不是 list ,就是 map 而已,所谓的索引数组在 php 里面就是个笑话,一不小心就要转变为关联数组了
本来就是设计问题,跟人菜不菜没有任何关系,每当操作索引数组的时候都得小心翼翼,要不就是只能用 push/pop ,array_slice 几个很有限函数来操作,或者用 filter ,unset 之类的搞完之后用 array_values 转一下,问题是能解决,但是心智负担还是很重,代码也很丑陋
ZoR
2023-10-20 23:48:38 +08:00
啊这 建议多看手册,这是个 phper 都知道的吧,那种半吊子的 你换别的语言他也会吐槽的 哈哈哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/973000

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX