【问题标题】:passing function to a variable将函数传递给变量
【发布时间】:2017-03-17 01:45:22
【问题描述】:

我正在检查一个标签,如果它存在,那么标签应该存在,然后它进入存在和不存在的条件,这是我的代码:

function _checkTagsExists( $tag , $chimptags ){

foreach( $chimptags as $key => $value ){

  if( $value == $tag ){
    $response[ 'value' ] = $value;
    $response[ 'exists' ] = 1;
    $response[ 'tag' ] = $tag;
    $response[ 'interests_id' ] = $key;
  }

}
return $response;
}
$actags = array('existingtag1','existingtag2');
$interests = array('key1'=>'existingtag1','key2'=>'existingtag2');
foreach( $actags as $actag ){

      $tagscheck = _checkTagsExists( $actag , $interests);


      //if tag is already existing
      if( $tagscheck[ 'exists' ] == 1 ){

        $message[] = "exists";


      }else{
        $message[] = "NOT exist";


      }
}
var_dump($message);

这段代码导致

array{0 => "exists", 1 => "NOT exist"}

但应该都是存在的

【问题讨论】:

  • 你应该改写你的问题,因为它实际上很难理解。
  • 我刚刚运行了你的代码,它成功了:array(2) { [0]=> string(6) "exists" [1]=> string(6) "exists" }
  • 我的天啊,我也试过了,它工作了嗯我需要改写代码,因为我只使用了简单的数组
  • 即使在您更新问题之前,您的过程似乎也很复杂。您是否将array_intersect() 和array_diff() 视为实现目标的最短路径?我这样说是因为,如果这最终成为新成员臭名昭著的“阅读手册”问题之一,我可能会投反对票。
  • 可悲的是,这是一个新帐户,我有一个旧帐户,但后来我使用了另一家公司的另一封电子邮件。这是一个声名狼藉的人在骂新手。如果我已经花了大约 4 个小时试图找出代码出了什么问题,我就不会问这个问题了

标签: php arrays function conditional


【解决方案1】:

如果找到标记,则通过在循环中添加中断来解决此问题,这样它就不会重复数组的其他值

【讨论】:

    猜你喜欢
    • 2020-07-28
    • 1970-01-01
    • 2012-03-02
    • 2011-01-18
    • 2015-05-02
    • 2015-12-17
    • 2013-04-20
    • 1970-01-01
    相关资源
    最近更新 更多