【问题标题】:How to get specific key when i click on values of an array当我单击数组的值时如何获取特定键
【发布时间】:2016-03-30 16:20:13
【问题描述】:

当我单击数组 href 值时,我有一个数组(即下面的 $a)如何获取数组的特定键。

<?php

$a = array(
    'google' => array('fff','sss','http://www.goole.com'),
    'yahoo' => array('qqq','www','http://www.yahoo.com'),
    'gmail' => array('zzz','xxx','http://www.gmail.com')
);
    echo '<pre>';
    print_r($a);
    echo '</pre>';
    foreach ($a as $key=>$value) {
        echo "<strong>".$key."</strong>";
        echo '<br>';
        echo '<a href="'.$value[2].'">Click Here</a>';
    }
?>

在上面例如 当我单击数组的“单击此处”值时,我也有三个特定的键。 onclick 如何获取该特定密钥。 当点击http://www.google.com 然后它返回谷歌密钥, 当点击http://www.yahoo.com 然后它返回雅虎键,....等等。

【问题讨论】:

  • 你试过了吗?你应该使用javascript。
  • Google out for array_search PHP 函数
  • 什么意思?你想为某个键获得额外的键吗?像 google.com 的“ffff”、“sss”?您希望以什么形式获得返回值?
  • 当我点击一个数组的值时我不想指定特定的键,如何使用 javascript 或 jquery 来做到这一点

标签: javascript php arrays foreach


【解决方案1】:
// 2 is column num
$key = array_search("http://www.yahoo.com" ,  array_column($a , 2));
echo 'key is : '.$key

【讨论】:

    【解决方案2】:

    php部分:

     <?php
    ...
        foreach ($a as $key=>$value) {
            echo "<strong>".$key."</strong>";
            echo '<br>';
            echo '<a data-sitekey="'.$key.'"  href="'.$value[2].'">Click Here</a>';
        }
    ?>
    

    javascript部分:

    document.querySelector("a").addEventListener('click', function(e) {
        var sitekey = e.target.getAttribute('data-sitekey');
        if (sitekey) {
          console.log(sitekey);
        }
    });
    

    【讨论】:

      【解决方案3】:

      在 href 上的点击事件上使用,例如:

      foreach ($a as $key=>$value) {
                  echo "<strong>".$key."</strong>";
                  echo '<br>';
                  echo '<a onClick="alert(/' <?= $key ?> /')" href="'.$value[2].'">Click Here</a>';
              }
      

      【讨论】:

        【解决方案4】:

        改变

        echo '<a href="'.$value[2].'">Click Here</a>';
        

        echo "<a href='##' onClick='return alert(\"$key\")' >Click Here</a>";
        

        【讨论】:

          猜你喜欢
          • 2021-04-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-09-04
          • 1970-01-01
          • 2016-08-15
          • 2020-01-06
          • 2020-03-02
          相关资源
          最近更新 更多