如何消除阵列中的重复?(不是唯一的,但删除下一个值)PHP
How to remove duplication in arrays? (not turn unique, but remove the next value) PHP
我会尽量说得非常具体。听着,我有一个发送数组的输入:
echo "<input type='hidden' name='valortot[]' class='valor$rowid' disabled>";
一旦我点击单选按钮,禁用将被删除,并设置值:
单选按钮:
<input class='radio$rowid' name='".$codintercot."[]' value='$mpreco' type='radio' onclick='calcval($rowid,$valortot)'>
$rowid
是每行的id,$valortot
是javascript获得的值,单击后插入隐藏输入。
Javascript:
<script type="text/javascript">
function calcval(valor,valortot){
var valortot = valortot;
var rowid = valor;
var calcval = document.getElementsByClassName("valor"+rowid);
for(var i = 0; i < calcval.length; i++) {
calcval[i].value=valortot;
calcval[i].disabled = false;
}
}
我的问题是,当我发送被复制的数组时,可能存在重复项,比如两个具有相同值的itens,但不是一个值如下的副本:
Array ( [0] => 2.44 [1] => 2.44 [2] => 3.7 [3] => 32.92 [4] => 32.92 )
奇怪的是,复制了2.44和32.92,但没有复制3.7,我怎么能跳过克隆?
编辑:
哦,我犯规了,我同时启用了3,而我应该只启用1。但还是要感谢你们。
您检查了吗:
http://php.net/manual/en/function.array-unique.php
<?php
$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
?>
结果:
Array
(
[a] => green
[0] => red
[1] => blue
)
由于您使用的是Javascript,因此您可以始终使用.indexOf(value).
for(var i = 1; i < array.length(); i++){
if(array.indexOf(value) == -1) {
array.push(value);
} else {
// Do nothing
}
}
现在你不需要else语句,但它会给你一个想法。此外,从1开始循环,这样,如果数组位于元素0(也就是空的),if就不会麻烦检查重复的结果。
祝你好运!
编辑-逻辑错误。
相关文章:
- JavaScript会删除页面上的所有唯一图像
- 向具有唯一Id的表添加/删除行
- 将数组中的重复项转换为唯一项,而不删除Javascript中的任何项
- 使用按钮动态添加输入字段,而不删除唯一字段上的按钮
- 动态删除没有唯一属性的输入字段
- 如何删除具有唯一值的行,保留具有重复值的行
- 如何通过 php 中的唯一 ID 删除 Json
- 如何使用 Angular.js 中的一些唯一值从数组中删除值
- Javascript删除所有重复元素,只留下唯一唯一的元素
- 在执行不区分大小写的排序以删除web工作程序中的重复项时,首选大写字母唯一
- 如何消除阵列中的重复?(不是唯一的,但删除下一个值)PHP
- AngularJS过滤器唯一删除ng选项中的重复项
- Javascript:确定字符串中的所有字符是否都是唯一的,如果不是,则删除重复字符
- Firebase push -删除唯一对象并插入新对象(基本上覆盖内容)
- Javascript -从数组中删除唯一元素
- Regex删除唯一字符之间不需要的空格
- 我如何使一个数组与唯一的元素(即删除重复项)
- js比较两个数组并从第二个数组中删除唯一值
- 从DOM中删除唯一ID
- Derby.js - 添加/删除唯一列表元素