Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将数组赋值给另一个数组值_Php_Arrays_Loops_Multidimensional Array_Associative Array - Fatal编程技术网

Php 将数组赋值给另一个数组值

Php 将数组赋值给另一个数组值,php,arrays,loops,multidimensional-array,associative-array,Php,Arrays,Loops,Multidimensional Array,Associative Array,假设我有: 我将为这个数组项分配另一个数组。实际上,我正在执行一个foreach循环,并根据情况为所需的数组项分配一个新数组。 现在我想把它转到这个: $second = ['hi', 'by' => ['really' => 'yes'], 'nice'] 我如何以编程方式完成它?试试这个 $first = ['hi', 'by', 'nice']; foreach( $first as $key => $value ) { $second[] = $value;

假设我有:

我将为这个数组项分配另一个数组。实际上,我正在执行一个
foreach
循环,并根据情况为所需的数组项分配一个新数组。 现在我想把它转到这个:

$second = ['hi', 'by' => ['really' => 'yes'], 'nice']
我如何以编程方式完成它?

试试这个

$first = ['hi', 'by', 'nice'];

foreach( $first as $key => $value )
{
    $second[] = $value;
    if( $value == 'by' )
    {
        $second[ $value ][] = array( 'really' => 'yes' );
    }
}
var_dump( $second );
输出:

array(4) {
  [0]=>
  string(2) "hi"
  [1]=>
  string(2) "by"
  ["by"]=>
  array(1) {
    [0]=>
    array(1) {
      ["really"]=>
      string(3) "yes"
    }
  }
  [2]=>
  string(4) "nice"
}
试试这个:

$second = $first;
$tofind = 'by';
$key = array_search($tofind, $second);
unset($second[$key]);
$second[$tofind] = array( 'really' => 'yes' );

这一点非常重要,如果已知索引
by
,则可以使用此索引检查值并将值存储到新数组中,否则将失败

以下是基本示例:

<?php
$first = ['hi', 'by', 'nice'];
$newArr = array();
foreach ($first as $key => $value) {
    if($value == 'by'){
        $newArr[$value] = array('really'=>'yes');
    }
    else{
        $newArr[] = $value;
    }  
}
echo "<pre>";
print_r($newArr);
?>

如果我理解你的要求,实际上有很多方法可以做到这一点。这是我的



您想将array2值添加到array1还是在array1中添加array2?需要更多详细信息。你会提前知道数值吗?您是否知道您要更改的索引
1
等…请显示您的问题。你应该包括一个你有问题的代码,然后我们可以尝试帮助解决具体的问题。你也应该阅读。
<?php
$first = ['hi', 'by', 'nice'];
$newArr = array();
foreach ($first as $key => $value) {
    if($value == 'by'){
        $newArr[$value] = array('really'=>'yes');
    }
    else{
        $newArr[] = $value;
    }  
}
echo "<pre>";
print_r($newArr);
?>
Array
(
    [0] => hi
    [by] => Array
        (
            [really] => yes
        )

    [1] => nice
)
<?php
$first = ['hi', 'by', 'nice'];
foreach($first as $k=>$v){
    if($v !='by'){
        $second[] = $v;
    }else{
        $second[$v] = ['really'=>'yes'];
    }
}
print_r($second);
?>