假设我有array:
$first = ['hi', 'by', 'nice']
我要为这个数组项分配另一个数组。实际上做一个foreach
循环并且由于情况将一个新数组分配给所需的数组项。
现在我想把它转到这个:
$second = ['hi', 'by' => ['really' => 'yes'], 'nice']
我如何以编程方式完成?
答案 0 :(得分:0)
试试这个
$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"
}
答案 1 :(得分:0)
试试这个:
$second = $first;
$tofind = 'by';
$key = array_search($tofind, $second);
unset($second[$key]);
$second[$tofind] = array( 'really' => 'yes' );
答案 2 :(得分:0)
这非常重要,如果已知索引<?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
)
<强>结果:强>
public enum EleType {
INTEGER,
CHARACTER
}
答案 3 :(得分:0)
如果我了解您的要求,实际上有很多方法可以做到这一点。这是我的,
<?php
$first = ['hi', 'by', 'nice'];
foreach($first as $k=>$v){
if($v !='by'){
$second[] = $v;
}else{
$second[$v] = ['really'=>'yes'];
}
}
print_r($second);
?>