【问题标题】:Get value from array and set select options on basis of that using JS/PHP从数组中获取值并在此基础上使用 JS/PHP 设置选择选项
【发布时间】:2015-08-28 00:16:24
【问题描述】:

我在 php 中有两个这样的数组:

 Array
(
    [0] => 11
    [1] => 11
    [2] => 11
    [3] => 11
    [4] => 11
    [5] => 187
)
Array
(
    [0] => 118
    [1] => 112
    [2] => 85
    [3] => 81
    [4] => 119
    [5] => 82
)

这些基本上是两个选择字段值,我将它们合并到数组中,以便我可以将它们用于我的目的。我试图从第一个数组中获取值并与第二个匹配,就像我从第一个数组中获取 11 的值一样,它意味着从 0-4 索引都有 11 等等第二个数组我有 5 个值 (0-4 index)。同样,如果我从第二个数组中得到 118,那么在第一个数组中获取所有值。 如果输入11 output will be => (118,112,85,81,119),同样如果输入187=>(82)

【问题讨论】:

  • 你有没有尝试过实现这个目标?
  • 我是唯一一个对上一段的内容没有理解的人吗?
  • 我正在尝试选择更改以获取第一个数组值。但是在比较值时感到困惑
  • 我相信他的意思是从数组 1 中获取与数组 2 中的值相对应的值。
  • @MahmoodRehman 数组将使用相同的密钥保存吗?

标签: javascript php jquery arrays select


【解决方案1】:

我认为这可能会对您有所帮助。您可以在 JavaScript 中使用与 PHP 相同的数组功能

Javascript

<script>
    var one = [11,11,11,11,11,187];
    var two = [118,112,85,81,119,82];
    var result = [];
    for(var i = 0; i < one.length; i++){
        if(typeof result[one[i]] != 'undefined')
            result[one[i]].push(two[i]);
        else result[one[i]] = [two[i]];
    }
    console.log(result);
</script>

PHP

$one = [11,11,11,11,11,187];
$two = [118,112,85,81,119,82];
$result = array();
foreach($one as $key => $value){
    $result[$value][] = $two[$key];
}
print_r($result);

这里的 typeof 在 JS 中类似于 isset 在 PHP 中

【讨论】:

  • 谢谢我得到了这样的结果console.log(result[11]);
  • 不客气。很高兴能帮助你,如果真的对你有帮助,你也可以投票赞成@MahmoodRehman
【解决方案2】:

试试这个:

$arr1 = array(11,11,11,11,11,187);
$arr2 = array(118,112,85,81,119,82);
$input = 5;
$keysArr = array_keys($arr1, $arr1[$input]);
$newArr = array();
foreach ($keysArr AS $index) {
    $newArr[] = $arr2[$index];
}
var_dump($newArr);

【讨论】:

  • 谢谢,但我想在 js 中获得结果,因为我的输入将在 js 上调用。
  • 你明白了。使用js语法来实现。
【解决方案3】:

JS代码

var one = [11,11,11,11,11,187];
var two = [118,112,85,81,119,82];
var result = [];
var count = one.length;
for(var i=0;i<count;i++){
result[i] = one[i]+"=>"+two[i];
}
console.log(result);

结果 = [“11=>118”、“11=>112”、“11=>85”、“11=>81”、“11=>119”、“187=>82”]

【讨论】:

  • 这不是一个正确的答案。实际上它是一种解决方法。不过希望对你有帮助
猜你喜欢
  • 2014-09-02
  • 2016-02-03
  • 2014-12-25
  • 2018-08-23
  • 1970-01-01
  • 1970-01-01
  • 2015-04-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多