首页 > 解决方案 > 如何使另一个计数函数中的计数函数工作

问题描述

我正在尝试访问我在另一个计数函数内的计数函数中声明的变量,但是当我调用该函数时,它恰好是未定义的,如下所示

Found
Notice: Undefined variable: name1 in /opt/lampp/htdocs/hello.php on line 32

我使用计数功能来访问爆炸功能输出的各种数据。分解的数据是来自文本文件的信息。这是下面的文本文件数据

Trinity Clare 2019-07-31 F Mary
signature A 

从文本文件中获取数据并访问该数据的代码如下

 <?php
    $conn = mysqli_connect('localhost','root','','recess') or die('couldnt connect'.mysqli_error());

    //Kampala
    if(file_exists("/opt/lampp/htdocs/Recess/Kampala.txt"))
    {
      $file = fopen("/opt/lampp/htdocs/Recess/Kampala.txt","r");
      while(!feof($file))
      {
        $content = fgets($file);
        $carray = explode(" ", $content);
        //var_dump($carray);
        if(count($carray)==3)
        {
            list($word,$letter) = $carray;
            $sign = "SELECT signature from agents";
            $result = mysqli_query($conn,$sign);
            $data = array();
            while($signature = mysqli_fetch_array($result))
            {
                $data[] = $signature['signature'];
            }
            if(in_array($letter, $data))
            {
                echo "Found";
                if(count($carray)==5)
                {
                    list($name1,$name2,$date,$gender,$recommender1) = $carray;

                }
                echo $name1;
            }
            else{
                echo "none";
            }
        }
        }
    }

    ?>

如果在从 mysql 获取的数据数组中找到字母“A”并且应该在第二个计数语句中为其分配一个变量后打印文本文件中的第一个单词,则应该返回“找到”

标签: phpmysql

解决方案


$name1在 if 语句中定义并在 if 之后回显它。
每当您的 if 语句为假时,您都会收到此错误。

您可以通过检查 $name1 变量的存在来解决它:

echo "Found";
if(count($carray)==5) {
    list($name1,$name2,$date,$gender,$recommender1) = $carray;

}
echo isset($name1) ? $name1 : "<br>Count $carray != 5";

推荐阅读