Questions tagged «arrays»

数组是一种有序的数据结构,由一组元素(值,变量或引用)组成,每个元素由一个或多个索引标识。当询问数组的特定变体时,请使用以下相关标记:[vector],[arraylist],[matrix]。使用此标签时,在特定于编程语言的问题中,使用正在使用的编程语言对问题进行标签。

19
存储PHP数组的首选方法(json_encode与序列化)
我需要在平面文件中存储多维关联数据数组以进行缓存。我可能偶尔会遇到需要将其转换为JSON以便在我的Web应用程序中使用的情况,但是绝大多数时候,我将直接在PHP中使用该数组。 在此文本文件中将数组存储为JSON或PHP序列化数组会更有效吗?我环顾四周,似乎在最新版本的PHP(5.3)json_decode中实际上比快unserialize。 我目前倾向于将数组存储为JSON,因为如果有必要,我认为它很容易被人阅读,并且可以不费吹灰之力就可以在PHP和JavaScript中使用,从我的阅读中来看,它甚至可能是解码速度更快(不过不确定编码)。 有人知道有什么陷阱吗?任何人都有良好的基准可以显示这两种方法的性能优势?



18
如何在不截断的情况下打印完整的NumPy数组?
当我打印一个numpy数组时,我得到一个截断的表示形式,但是我想要完整的数组。 有什么办法吗? 例子: >>> numpy.arange(10000) array([ 0, 1, 2, ..., 9997, 9998, 9999]) >>> numpy.arange(10000).reshape(250,40) array([[ 0, 1, 2, ..., 37, 38, 39], [ 40, 41, 42, ..., 77, 78, 79], [ 80, 81, 82, ..., 117, 118, 119], ..., [9880, 9881, 9882, ..., 9917, 9918, 9919], [9920, 9921, 9922, …


21
我可以将数组绑定到IN()条件吗?
我很好奇是否可以使用PDO将值数组绑定到占位符。这里的用例正在尝试传递值数组以与IN()条件一起使用。 我希望能够执行以下操作: <?php $ids=array(1,2,3,7,8,9); $db = new PDO(...); $stmt = $db->prepare( 'SELECT * FROM table WHERE id IN(:an_array)' ); $stmt->bindParam('an_array',$ids); $stmt->execute(); ?> 并让PDO绑定并引用数组中的所有值。 目前,我正在做: <?php $ids = array(1,2,3,7,8,9); $db = new PDO(...); foreach($ids as &$val) $val=$db->quote($val); //iterate through array and quote $in = implode(',',$ids); //create comma separated list $stmt = …

6
如何从数组中随机选择?
我想知道是否有更干净的方法可以做到这一点。基本上,我想从可变长度的数组中选择一个随机元素。通常,我会这样: myArray = ["stuff", "widget", "ruby", "goodies", "java", "emerald", "etc" ] item = myArray[rand(myarray.length)] 有什么更可读/更容易替换第二行的东西吗?还是那是最好的方式。我想您可以做到myArray.shuffle.first,但是#shuffle几分钟前我才看到SO,但我实际上还没有使用它。
559 ruby  arrays  random 


27
使用JavaScript从数组中删除对象
如何从数组中删除对象?我想删除,其中包括名称的对象Kristian从someArray。例如: someArray = [{name:"Kristian", lines:"2,5,10"}, {name:"John", lines:"1,19,26,96"}]; 我要实现: someArray = [{name:"John", lines:"1,19,26,96"}];
545 javascript  arrays 

27
.NET中的两个字节数组比较
我该如何快速完成? 当然,我可以这样做: static bool ByteArrayCompare(byte[] a1, byte[] a2) { if (a1.Length != a2.Length) return false; for (int i=0; i<a1.Length; i++) if (a1[i]!=a2[i]) return false; return true; } 但是我正在寻找BCL功能或一些经过高度优化的行之有效的方法。 java.util.Arrays.equals((sbyte[])(Array)a1, (sbyte[])(Array)a2); 效果很好,但看起来不适用于x64。 在这里记下我的超快速回答。
541 c#  .net  arrays  performance  j# 

18
如何在JavaScript中初始化数组的长度?
我阅读过的有关JavaScript数组的大多数教程(包括w3schools和devguru)都建议您可以通过使用var test = new Array(4);语法将整数传递给Array构造函数来初始化具有一定长度的数组。 在我的js文件中广泛使用此语法后,我通过jsLint运行了其中一个文件,结果很糟糕: 错误:第1行第22个字符处出现问题:预期为“)”,而是看到了“ 4”。 var test = new Array(4); 第1行第23个字元的问题:预期为';' 而是看到')'。 var test = new Array(4); 第1行第23个字符处的问题:需要一个标识符,而看到了')'。 阅读完jsLint对它的行为的解释之后,看起来jsLint并不真正喜欢new Array()语法,而是[]在声明数组时更喜欢。 所以我有几个问题: 首先,为什么?我使用new Array()语法代替会冒任何风险吗?我应该注意浏览器的不兼容性吗? 其次,如果我切换到方括号语法,是否有任何方法可以声明一个数组并将其长度全部设置在一行上,或者我必须执行以下操作: var test = []; test.length = 4;


8
如何将Java字符串转换为byte []?
有什么方法可以将Java转换String为byte[](而不是盒装Byte[])? 在尝试这个: System.out.println(response.split("\r\n\r\n")[1]); System.out.println("******"); System.out.println(response.split("\r\n\r\n")[1].getBytes().toString()); 我得到了单独的输出。由于是gzip字符串,因此无法显示第一个输出。 <A Gzip String> ****** [B@38ee9f13 第二个是地址。我做错了什么吗?我需要将结果byte[]送入gzip解压缩器,如下所示。 String decompressGZIP(byte[] gzip) throws IOException { java.util.zip.Inflater inf = new java.util.zip.Inflater(); java.io.ByteArrayInputStream bytein = new java.io.ByteArrayInputStream(gzip); java.util.zip.GZIPInputStream gzin = new java.util.zip.GZIPInputStream(bytein); java.io.ByteArrayOutputStream byteout = new java.io.ByteArrayOutputStream(); int res = 0; byte buf[] = new byte[1024]; while (res >= …
538 java  arrays  string 



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.