繁体   English   中英

PHP&JS数字和assoc数组索引出现问题

[英]PHP & JS numeric and assoc arrays index trouble

对于您中的99%,此问题可能微不足道。 到目前为止,我一直试图避免这种情况,但是现在我别无选择。

For PHP:
$array = array();
$array[5] = 'Element';
$array['s_5'] = 'Alternative Element';
$array[7] = 'Element2';
$array['s_7 '] = 'Alternative Element2';

For JS
var array = new Array();
array[5] = 'Element';
array['s_5'] = 'Alternative Element';
array[7] = 'Element2';
array['s_7 '] = 'Alternative Element2';

现在,我需要了解数组的第二个元素。 怎么做? 当然,我可以创建另一个包含每个元素的数组键的表,或者使用foreach / while对特定元素执行一些操作。 我还可以使用end()获取PHP中的最后一个数组元素,但是还有其他更快的方法可以从随机数组中获取特定元素(这意味着我不知道数组的键和长度)吗?

谢谢你帮我

您可能要使用二维数组:

$matrix = array();
$matrix['elements'] = array();
$matrix['alt_elements'] = array();

$matrix['elements'][5] = 'Element';
$matrix['alt_elements'][5] = 'Alternative Element';

等等...

避免在JS中使用关联数组。 仅当键为数字时才使用数组。 否则,请使用对象。

var matrix = {};
matrix.elements = [];
matrix.altElements = [];

matrix.elements[5] = 'Element';
matrix.altElements[5] = 'Alternative Element';

关联数组(php)或对象(js)并不意味着要通过数字索引访问。 这包括访问第n个元素。

如果确实需要这样做,除了在php中使用foreach($arr as $key => $val)或在js中使用for(var key in obj)遍历数组并手动计数元素外,没有什么好办法。

但是,如果您的数组类似于矩阵,则可能需要创建两个矩阵或将最里面的元素设置为数组,以便为​​实际矩阵以及其他内部数据提供纯数字数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM