【问题标题】:set array value as a variable using php使用php将数组值设置为变量
【发布时间】:2013-05-19 16:06:40
【问题描述】:

我正在尝试将一个值设置为另一个数组。 我有这种类型的两个数组。

Array
(
    [0] => test1
    [1] => test2
)
Array
(
    [0] => 351
    [1] => 352
    [2] => 353
    [3] => 354
    [4] => 355
    [5] => 356
)

现在我想做一些事情,比如在 test1 上设置第二个数组的前三个值,然后从第二个数组中设置另外三个值到 test2。

test1 = 351,352,353
test2 = 354,355,356

有可能吗?

【问题讨论】:

  • 如果第二个数组中有 6 项,那么它是否总是包含 5 项?

标签: php arrays for-loop


【解决方案1】:

试试这个:

$var  = array(0=> "test1",1=> "test2");
$vals = array(0 => 351,1 => 352,2 => 353,3 => 354,4 => 355,5 => 356);

$res  = array_combine($var,array_map('implode', array_fill(0, count(array_chunk($vals,3)), ','), array_chunk($vals,3)));

echo "<pre>";
print_r($res);

输出:

Array
(
    [test1] => 351,352,353
    [test2] => 354,355,356
)

编辑:根据评论“这种类型的输出我需要数组([0] => 351,352,353 [1] => 354,355,356)

$vals = array(0 => 351,1 => 352,2 => 353,3 => 354,4 => 355,5 => 356);

$res  = array_map('implode', array_fill(0, count(array_chunk($vals,3)), ','), array_chunk($vals,3));

echo "<pre>";
print_r($res);

输出:

Array
(
    [0] => 351,352,353
    [1] => 354,355,356
)

【讨论】:

  • 已编辑答案请检查。
  • 两者都有帮助...谢谢。及其可能的数组([test1],[test2])键到[0]或[1],如自动键
  • 这种类型的输出我需要数组( [0] =&gt; 351,352,353 [1] =&gt; 354,355,356 )
  • @JackPhp : 你想要 0,1 而不是 test1, test2 吗?...是的,有可能
  • @JackPhp : 请立即查看答案
猜你喜欢
  • 2021-07-14
  • 2013-06-05
  • 2017-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
相关资源
最近更新 更多