在PHP中在foreach循环中存储数组数据

在PHP中在foreach循环中存储数组数据,php,arrays,foreach,Php,Arrays,Foreach,我想知道如何存储foreach循环中的所有值,我知道我正在循环中重新初始化,但我不确定如何存储数据。以下是我的基本循环: $array = array("v1", "v2", "v3", "v4"); foreach($array as $row){ $arr = array('val' => $row); echo $row; } print_r($arr); 因此,当我使用print\r($arr)时,唯一输出的是v4,我知道这些值在那里,因为echo$行会单独返回每

我想知道如何存储foreach循环中的所有值,我知道我正在循环中重新初始化,但我不确定如何存储数据。以下是我的基本循环:

$array = array("v1", "v2", "v3", "v4");
foreach($array as $row){
    $arr = array('val' => $row);
    echo $row;
}
print_r($arr);
因此,当我使用
print\r($arr)
时,唯一输出的是
v4
,我知道这些值在那里,因为
echo$行会单独返回每个输出


我的问题是如何在数组中存储行的每个实例?

创建一个新数组,填充它:

$array = array("v1", "v2", "v3", "v4");

$newArray = array();

foreach($array as $row){
    // notice the brackets
    $newArray[] = array('val' => $row);

}

print_r($newArray);

创建一个新数组,填充它:

$array = array("v1", "v2", "v3", "v4");

$newArray = array();

foreach($array as $row){
    // notice the brackets
    $newArray[] = array('val' => $row);

}

print_r($newArray);

创建一个新数组,填充它:

$array = array("v1", "v2", "v3", "v4");

$newArray = array();

foreach($array as $row){
    // notice the brackets
    $newArray[] = array('val' => $row);

}

print_r($newArray);

创建一个新数组,填充它:

$array = array("v1", "v2", "v3", "v4");

$newArray = array();

foreach($array as $row){
    // notice the brackets
    $newArray[] = array('val' => $row);

}

print_r($newArray);

看起来您的阵列存储错误

尝试调整$arr=数组('val'=>$row)

致:

$arr[]=数组('val'=>$row)

这将设置它,以便将每一行作为一个单独的数组拾取,以便轻松导航


希望这有帮助

看起来您的数组存储错误

尝试调整$arr=数组('val'=>$row)

致:

$arr[]=数组('val'=>$row)

这将设置它,以便将每一行作为一个单独的数组拾取,以便轻松导航


希望这有帮助

看起来您的数组存储错误

尝试调整$arr=数组('val'=>$row)

致:

$arr[]=数组('val'=>$row)

这将设置它,以便将每一行作为一个单独的数组拾取,以便轻松导航


希望这有帮助

看起来您的数组存储错误

尝试调整$arr=数组('val'=>$row)

致:

$arr[]=数组('val'=>$row)

这将设置它,以便将每一行作为一个单独的数组拾取,以便轻松导航


希望这有帮助

如果我读得正确,您希望将数组从简单值转换为'val'->number的键值对。array_map是进行这种转换的一种简洁方法

$array = array("v1", "v2", "v3", "v4");
$arr = array_map(function($v) { return array('val'=>$v); }, $array);
print_r($arr);
虽然在这种情况下这并不重要,但array_map还有一个方便的功能,可以在需要时保存密钥


请注意,您还可以为array_map提供一个命名函数,而不是提供内联实现,这在转换方法变得更复杂的情况下非常好。更多关于数组映射的信息。

如果我读得正确,您希望将数组从简单值转换为'val'->数字的键值对。array_map是进行这种转换的一种简洁方法

$array = array("v1", "v2", "v3", "v4");
$arr = array_map(function($v) { return array('val'=>$v); }, $array);
print_r($arr);
虽然在这种情况下这并不重要,但array_map还有一个方便的功能,可以在需要时保存密钥


请注意,您还可以为array_map提供一个命名函数,而不是提供内联实现,这在转换方法变得更复杂的情况下非常好。更多关于数组映射的信息。

如果我读得正确,您希望将数组从简单值转换为'val'->数字的键值对。array_map是进行这种转换的一种简洁方法

$array = array("v1", "v2", "v3", "v4");
$arr = array_map(function($v) { return array('val'=>$v); }, $array);
print_r($arr);
虽然在这种情况下这并不重要,但array_map还有一个方便的功能,可以在需要时保存密钥


请注意,您还可以为array_map提供一个命名函数,而不是提供内联实现,这在转换方法变得更复杂的情况下非常好。更多关于数组映射的信息。

如果我读得正确,您希望将数组从简单值转换为'val'->数字的键值对。array_map是进行这种转换的一种简洁方法

$array = array("v1", "v2", "v3", "v4");
$arr = array_map(function($v) { return array('val'=>$v); }, $array);
print_r($arr);
虽然在这种情况下这并不重要,但array_map还有一个方便的功能,可以在需要时保存密钥


请注意,您还可以为array_map提供一个命名函数,而不是提供内联实现,这在转换方法变得更复杂的情况下非常好。更多关于数组的信息。

$arr[]=array('val'=>$row)也许?但是在循环之后,您实际希望$arr是什么呢?读取一个数组并创建相同的数组。正确的?或者您想要二维数组?
$arr[]=array('val'=>$row)也许?但是在循环之后,您实际希望$arr是什么呢?读取一个数组并创建相同的数组。正确的?或者您想要二维数组?
$arr[]=array('val'=>$row)也许?但是在循环之后,您实际希望$arr是什么呢?读取一个数组并创建相同的数组。正确的?或者您想要二维数组?
$arr[]=array('val'=>$row)也许?但是在循环之后,您实际希望$arr是什么呢?读取一个数组并创建相同的数组。正确的?或者您想要二维数组?这将对问题进行排序,谢谢。我可以通过创建多维数组来询问如何获得
$array
?现在这就是我得到的
Array([0]=>Array([val]=>v1)[1]=>Array([val]=>v2)[2]=>Array([val]=>v3)[3]=>Array([val]=>v4])
,我想知道我怎样才能得到
Array
中的值?@user3144542请报告一个具体的用例[即一些真实的非虚拟数据]。值应该是相同的,但最后我希望使用键作为SQL语句中的列名,并使用值作为我正在搜索的值。为此,我将使用CI内置方法,该方法使用关联数组进行搜索。这就是为什么我想得到像这样的值
'val'=>v1'val'=>v2,'val'=>v2
这对问题进行了排序,也谢谢你,我可以通过创建多维数组来询问如何得到
$array
?现在这就是我得到的
Array([0]=>Array([val]=>v1)[1]=>Array([val]=>v2)[2]=>Array([val]=>v3)[3]=>Array([val]=>v4])
,我想知道我怎样才能得到
Array
中的值?@user3144542请报告一个具体的用例[即一些真实的非虚拟数据].值应该是相同的,但在en中