php object array in,PHP的ArrayObject是否具有in_array等价物?
不.甚至无视文档,您可以自己查看
echo '
';
print_r( get_class_methods( new ArrayObject() ) );
echo '
';
所以你没有多少选择.正如你所说,一种选择就是施展它
$a = new ArrayObject( array( 1, 2, 3 ) );
if ( in_array( 1, (array)$a ) )
{
// stuff
}
这是IMO最好的选择.您可以使用getArrayCopy()方法,但这可能比转换操作更昂贵,更不用说选择会有可疑的语义.
如果封装是您的目标,您可以创建自己的ArrayObject子类
class Whatever extends ArrayObject
{
public function has( $value )
{
return in_array( $value, (array)$this );
}
}
$a = new Whatever( array( 1, 2, 3 ) );
if ( $a->has( 1 ) )
{
// stuff
}
我根本不建议迭代,那是O(n)并且考虑到替代方案,它们是不值得的.
php object array in,PHP的ArrayObject是否具有in_array等价物?相关推荐
- Vue——[Props with type Object/Array must use a factory function to return the default value.]解决方案
问题描述 [Vue warn]: Invalid default value for prop "weekTable": Props with type Object/Array ...
- 再谈js对象数据结构底层实现原理-object array map set
2019独角兽企业重金招聘Python工程师标准>>> 如果有java基础的同学,可以回顾下<再谈Java数据结构-分析底层实现与应用注意事项>:java把内存分两种:一 ...
- map/set/object/array对比
map () {//数据结构横向对比, 增,查,改,删let map = new Map()let array = []//增map.set('t',1)array.push({t:1})consol ...
- Xlsx转Json(JS Object/Array) Javascript/Typescript版本
源起 由于游戏策划异常偏爱用excel编写数据.很多数据可以用二维表的形式处理.但是还有一些数据更方便用树形结构存储.如果同时能也写在excel中,就可以方便双方的协作. 之前在网络上找到过一些xls ...
- Javascript判断object还是list/array的类型(包含javascript的数据类型研究)
前提:先研究javascript中的变量有几种,参考: http://www.w3school.com.cn/js/js_datatypes.asp http://glzaction.iteye.co ...
- props写法_vue props default Array或是Object的正确写法说明
1.错误写法 demo:{ type:Array, default:[] } eslint语法报错: Invalid default value for prop "demo": ...
- 针对Object和Array深拷贝处理
深拷贝: 版本一: var obj = {a:1,b:2,c:3} var newobj = JSON.parse(JSON.stringify(obj)) obj === newobj // fal ...
- 【JavaScript进阶之旅 ES6篇 第十五章】Set、Map、Set跟Map跟Array跟Object的对比
文章目录 一.Set 1.基本用法 2.Set.prototype 二.Map 1.基本用法 a. 键名为对象时 b. 普遍对象不能实现键值一一对应 c. Map数据结构实现键为对象的一一对应 d. ...
- Object、Function、String、Array原生对象扩展方法
JavaScript原生对象的api有些情况下使用并不方便,考虑扩展基于Object.Function.String.Array扩展,参考了prototype.js的部分实现,做了提取和修改,分享下: ...
最新文章
- (转)eclipse 代码自动补全
- opwnert挂载摄像头
- case when嵌套子查询_Oracle基础连接查询!!!
- spring-security学习笔记--配置文件
- Mysql修改字段名和长度_mysql中修改表字段名/字段长度/字段类型详解
- 基于JAVA+Swing+MYSQL的汽车租赁系统
- 微软发布Sample Browser for Windows 8版:5000示例代码,触手可及
- TortoiseGit使用入门
- mysql可重复读理解
- HTK中函数ProcessCrossWordLinks处理流程
- dwr 例外被抛出且未被接住 engine.js
- css 标点符号换行,字母汉字可以换行 标点符号不能换行_html/css_WEB-ITnose
- python禁用路径长度限制有啥影响吗_为什么Windows中存在260个字符的路径长度限制?...
- 打造类手机刷机的win10 recovery镜像
- 黑科技计算机玩游戏,别再嘲笑苹果电脑玩不了游戏!有了这项黑科技后比台式机还猛...
- Freda的越野跑(openjudge)
- 常用计算机系统包括,常用的保护计算机系统的方法有()。
- 安卓毕业设计- 基于Android的旅游计划APP
- 高考排名liuseroj.picp.io
- 百度网盘已安装却在开始菜单找不到该文件