【问题标题】:Changing an array into individual variables in PHP在 PHP 中将数组更改为单个变量
【发布时间】:2018-07-31 09:20:11
【问题描述】:

好吧...所以我真的不太擅长编码。而且我不明白这些手册所用的语言......由于某种原因,给定的例子没有点击,我不明白它们如何或是否与我正在尝试做的事情相关。所以寻找答案并没有帮助。

我已经足够自己从数组中去除不需要的 HTML 编码,只留下纯值。但这并不是我想要的。到一半了。

假设我有一个这样的数组

$array = "redgreenbluebrown"

(顺便说一句,我不确定我实际拥有的是一个包含四个值的数组......还是四个值一起运行并且现在是一个值)

假设我有这个:

$type 

$type 的值为 redgreenbluebrown

我现在想做什么......

这是

$type1 = red
$type2 = green
$type3 = blue
$type4 = brown

这样我就可以根据需要调用各个元素。我不需要将它们打印出来...我需要将它们作为单独的值分配给程序的其他区域。

原始数组来自一个 sql 查询,其中获取了几行信息。

如何从多行获取所有单个值?并将每个获得的值分配给它自己的唯一变量而不是数组?在我的情况下,数组没有帮助......我需要单独的值。

任何人都可以帮助一个正在努力尝试的新手......但是对于这些东西来说,这些东西只是简单地没有点击,因为没有显示的例子对我真正想要完成的事情有任何意义?

我擅长基本的东西,但这并不完全是基本的。至少,对我来说不是!!

不确定我应该使用“explode”函数、“implode”函数、“extract”函数还是“foreach”函数……或者如何让其中任何一个来做我真正想要的.对不起,如果我听起来像一个非常无知的新手。

【问题讨论】:

  • 如果你有像carpet 这样的值怎么办 - 你将如何拆分它?
  • 你怎么知道在哪里拆分redgreenbluebrown? “原始数组来自一个 sql 查询,其中获取了几行信息”我认为您需要退后一步并开始在查询中修复此问题。这就是我们所说的 X Yissue
  • 你需要备份到你有一个数组的地方,并询问如何以你想要的方式得到它。
  • 你不需要说对不起,因为你是这个领域的新手。我们每个人在某个时刻都是新手;-) 我认为,在一个很长的问题中,您所问的问题对我们来说仍然过于抽象。我建议重新编辑问题并向我们准确地展示您想要做什么。
  • 或者发布一个新问题并删除这个问题。从数据库发布数组以及您希望最终结果的样子。您可以包含您尝试过的代码。

标签: php arrays variables foreach


【解决方案1】:

根据您要命名的变量,您可以使用variable variables

$array = array('red','green','blue','brown');

${$array[0]} = $array[0]; // $red = 'red
${$array[1]} = $array[1]; // $green = 'green'
${$array[2]} = $array[2]; // $blue = 'blue'
${$array[3]} = $array[3]; // $brown = 'brown'

或者你可以遍历数组:

$types = array('red','green','blue','brown');

foreach($types as $type){
  ${$type} = $type;
}

【讨论】:

  • 好的。但是,不是将数组值硬编码在......你能用包含数组的变量来表示那些吗?这就是为什么这对我来说有点令人困惑......我在所有 PHP 手册中找到的每个示例......硬编码这个,这不是我想要做的......我已经在变量中有值......问题是上面有人说我所拥有的不是一个数组,而是一个标量值......不确定那是什么或者我用它做什么来将它分解成它的组成部分。再一次,如果我在这里表现得像个傻瓜,那真是太抱歉了。我讨厌寻求帮助。
  • 如果你调用数组的数据看起来像这样"redgreenbluebrown",那么它不是一个数组,它是一个字符串。没有空格或任何东西来分隔字符串的每个组件,因此您不能使用 explode() 从中创建数组。如果您不知道您的数据是什么样的,请将变量打印到页面上,以便您可以看到它,并包含在 pre 元素中。 echo '<pre>'; print_r($type); echo '</pre>';
  • 好的,这就是数据最初的样子。我在一个模块首选项中捕获了它(是的,这是 LOTGD)shack
    farmhouse
    然后我在它上面使用了一个 sanitize_html 函数来到达这个 shackfarmhouse 那么我现在该怎么做才能将 shack 和农舍分成两个单独的变量?我必须首先摆脱所有 HTML 的东西。我自己想出了怎么做……但显然我做得不太对,因为如果我得到了我想要的东西,我可能应该得到棚屋,农舍
猜你喜欢
  • 1970-01-01
  • 2011-12-18
  • 2012-08-24
  • 2013-06-28
  • 1970-01-01
  • 2014-08-10
  • 2017-06-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多