首页 > 解决方案 > 从 CLI 获取输入并在 PHP 中创建数组。这个对吗?

问题描述

我的目标是制作一个简单的应用程序,它允许我从 CLI 快速输入数据并创建一个数组,然后将其作为我本地主机上 MariaDB 上的条目传递(现在我只是转储以检查它是否实际工作) . 这是我今天的解决方案,虽然它有效,但我觉得它有点不完整。

我可以请您对此有经验吗?我计划在最后添加一个检查以在将数组提交到数据库之前查看条目。

function createNewEntry()
{
    echo "Enter Practitioner Name: ";

    $getname = fgets(STDIN, 128);

    echo "Enter Practitioner email: ";

    $getemail = fgets(STDIN, 128);

    echo "Enter Practitioner Country: ";

    $getcountry = fgets(STDIN, 128);

    $thearray = array('Name' => $getname, 'email' => $getemail, 'Country' => $getcountry);

    return ($thearray);
}

$newprac = createNewEntry();

var_dump($newprac);

标签: phparraysinputcommand-line-interface

解决方案


readline功能简化了从命令行提示用户输入信息的任务。PHP:readline 手册页也相当简单,因为该函数只有一个参数 - 提示字符串。

使用readline可以让您稍微收紧一点,直接在数组构造函数中读取值。

<?php

function createNewEntry()
{
    $thearray = array(
      'Name' => readline( "Enter Practitioner Name: "),
      'email' => readline( "Enter Practitioner email: "),
      'Country' => readline( "Enter Practitioner Country: ")
    );

    return ($thearray);
}

$newprac = createNewEntry();

var_dump($newprac);

输出看起来相同:

Enter Practitioner Name: Doc Watson
Enter Practitioner email: doc@picker.net
Enter Practitioner Country: Bluegrass
array(3) {
  ["Name"]=>
  string(10) "Doc Watson"
  ["email"]=>
  string(14) "doc@picker.net"
  ["Country"]=>
  string(9) "Bluegrass"
}

推荐阅读