【问题标题】:compare two string variables in php one obtained from array other from user比较php中的两个字符串变量,一个是从数组中获得的,另一个是从用户那里获得的
【发布时间】:2016-12-06 04:09:32
【问题描述】:

我需要比较两个字符串变量,一个是通过循环从对象数组中获取的,另一个是用户获取的。

当用户输入:Sam,ABC

$in = $request->input('name'); 

获取此输入,并将字符串“ABC”存储在另一个变量中。

$u_in = explode(",", $in);
$user_dept = $u_in[1];

现在 $user_dept 有字符串“ABC”。 从数据库中取出对象数组$users,在dept列下存储要比较的部门。

foreach ($users as $p => $val ) {
$c = $val->dept;
  if(strcasecmp($user_dept,$c) == 0 ){
    echo "yes";
  } else{
    echo "no";
  }
}

但是在这里,即使字符串相同,比较也总是返回“no”。 目的是匹配用户的部门。 要使用的正确代码是什么?

【问题讨论】:

  • 是 $dept= $user_dept?
  • 是的,我已经完成了更改
  • is $c = $val->dept= "abc" or "ABC" 因为 strcasecmp 在我的 comp 中工作正常 ..just echo $val
  • 当我执行 echo $val 时会抛出此错误:stdClass 类的对象无法转换为字符串
  • $c 既可以是“abc”也可以是“ABC”

标签: php arrays string laravel-5.2


【解决方案1】:

试试这个:

foreach ($users as $p => $val ) {
$c = strtolower($val->dept);
$user_dept = strtolower($user_dept);
  if($user_dept == $c){
    echo "yes";
  } else{
    echo "no";
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-25
    • 1970-01-01
    • 1970-01-01
    • 2012-04-15
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多