Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.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 如何捕获$_POST['my_image']的所有输入名称?_Php - Fatal编程技术网

Php 如何捕获$_POST['my_image']的所有输入名称?

Php 如何捕获$_POST['my_image']的所有输入名称?,php,Php,我有名为my_image[url]和my_image[caption]的动态输入 '; } 阵列1{ [0]=> 阵列2{ [网址]=> string96http://localhost/theme/wp-content/uploads/2017/08/4e07dd2bd752b989e9b4687129982977.jpg [标题]=> string0测试文本 } } 如何在iSet中捕获$_POST['my_image']的所有图像和标题 已解决: my_image[0][url] my_i

我有名为my_image[url]和my_image[caption]的动态输入

'; } 阵列1{ [0]=> 阵列2{ [网址]=> string96http://localhost/theme/wp-content/uploads/2017/08/4e07dd2bd752b989e9b4687129982977.jpg [标题]=> string0测试文本 } } 如何在iSet中捕获$_POST['my_image']的所有图像和标题

已解决:

my_image[0][url]
my_image[0][caption]
my_image[1][url]
my_image[1][caption]
etc...

简言之,只有isset不会让你得到你需要的结果

由于my_image[url]将始终解析为$_POST['my_image']['url'],因此它确实会被覆盖。如果您使用[],php会自动为每次事件增加一个数字,但是在这种情况下,它不会将url和标题放在一起

如果要确保以提供的方式接收数据,可以将输入字段命名为:

url[]
caption[]
url[]
caption[]
etc
您还可以重塑数据,例如:

<?php
$data = array_map(function ($url, $caption) {
    return compact('url', 'caption');
}, $_POST['url'], $_POST['caption']);

var_dump($data);
然后,您可以使用一些处理来组合php中的数据:

foreach ($data as $image) {
    echo $image['caption'].': '.$image['url'].PHP_EOL;
}
当然,这需要被包装在一个isset&is数组中检查$\u POST['url']和$\u POST['caption']

我读过关于函数数组映射和压缩的文章,非常感谢,现在我理解了你的答案,但是对于var\u dump$数据,它仍然返回null$_POST['url'];和$_POST['caption'];直接在数组中映射不起作用,现在可以了。万分感谢
url[]
caption[]
url[]
caption[]
etc
<?php
$data = array_map(function ($url, $caption) {
    return compact('url', 'caption');
}, $_POST['url'], $_POST['caption']);

var_dump($data);
foreach ($data as $image) {
    echo $image['caption'].': '.$image['url'].PHP_EOL;
}