【问题标题】:Create php variables from a single input [duplicate]从单个输入创建php变量[重复]
【发布时间】:2018-09-16 11:39:36
【问题描述】:

我有这个输入:

<input name="an_input" id="an_input">

用户在输入字段中写了一些用逗号分隔的单词。

假设他介绍了牛奶、咖啡、茶。

我想为每个单词创建一个 php 变量:

$milk = "milk";
$coffe = "coffe";
$tea = "tea";

【问题讨论】:

  • 为什么不使用数组?
  • 你试过什么? explode() 函数在这里似乎很有用。尽管数组似乎比单独的变量更实用。你想用这个来完成什么?
  • 如果变量与值同名,你怎么知道存在哪些变量?你会如何使用它们?如果任何值会覆盖任何现有变量,你会怎么做?
  • 我已经为你添加了答案。这对你有帮助吗?

标签: php html variables input


【解决方案1】:

您可以尝试使用list()explode()。让我们试试

<?php
    $user_input = 'milk, coffee, tea';
    list($milk, $coffee, $tee) = array_map('trim',explode(',', $user_input));
    echo $milk,$coffee, $tee;
?>

演示: https://3v4l.org/aXtA0

如果多个逗号分隔值来自输入,那么您可以只使用foreach()

<?php
 $user_input = 'milk, coffee, tea, biscuit, jam, jelly, nougut';
 $results =  array_map('trim',explode(',', $user_input));
 foreach($results as $result){
     ${$result} = $result;
 }
 echo $tea;
?>

演示: https://3v4l.org/mdUdQ

【讨论】:

  • 不是从输入域获取输入吗?如果他们添加了三个以上的项目,那就行不通了。另外,如果我理解这个问题,变量与输入不完全相同
  • @Lorddirt,编辑了我的答案并发布了另一种观察多个变量的方法
  • 这个答案很棒,正是我的想法,但出于所有意图和目的,它非常不切实际。
  • @Andrew 我完全同意你的看法:)。实际上我更喜欢list() 用于少量且已知的输入。
  • 我认为这个问题没有任何正确答案,主要是因为问题本身就是问题。
猜你喜欢
  • 2021-10-05
  • 2016-02-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多