如何扫描数组中的空索引,并用php中的新值打印它?
尝试使用此功能:如何扫描数组中的空索引,并用php中的新值打印它?,php,arrays,loops,variables,conditional,Php,Arrays,Loops,Variables,Conditional,尝试使用此功能: Array ( [0] => sandhika [1] => [2] => carl [3] => keith [4] => anggoro ) 尝试使用此功能: Array ( [0] => sandhika [1] => [2] => carl [3] => keith [4] => anggoro ) 由于
Array (
[0] => sandhika
[1] =>
[2] => carl
[3] => keith
[4] => anggoro
)
尝试使用此功能:
Array (
[0] => sandhika
[1] =>
[2] => carl
[3] => keith
[4] => anggoro
)
由于我不熟悉您的命名约定,我使用以下方法制作了一个全局示例:
<?php
function tambah_penumpang($daftar_penumpang, $penumpang_baru){
$datas = [];
for($i = 0; $i < count($daftar_penumpang); $i++) {
$item = $daftar_penumpang[$i];
if($item === null) {
$item = $penumpang_baru;
}
$datas[$i] = $item;
}
return $datas;
}
$daftar_penumpang =["sandhika",null,"carl","keith"];
print_r(tambah_penumpang($daftar_penumpang,"anggoro"))."<br>";
实例:
对于您的情况:
$daftar_penumpang =["sandhika",null,"carl","keith"];
array_walk($daftar_penumpang, function($v, $k, $replacement) use (&$daftar_penumpang) {
if ($v == null) {
$daftar_penumpang[$k] = $replacement;
}
}, 'anggoro');
print_r($daftar_penumpang);
这将输出:
$daftar_penumpang =["sandhika",null,"carl","keith"];
function tambah_penumpang($daftar_penumpang, $penumpang_baru) {
array_walk($daftar_penumpang, function($v, $k, $replacement) use (&$daftar_penumpang) {
if ($v == null) {
$daftar_penumpang[$k] = $replacement;
}
}, $penumpang_baru);
return $daftar_penumpang;
}
print_r(tambah_penumpang($daftar_penumpang, 'anggoro'));
更新
使用for循环:
您的代码问题是,您永远不会进入for循环,因为它处于else
状态,而$namaArray
始终为空,因此您永远不会执行循环,因此我已删除此检查并准备此循环,以向您展示如何使用for循环替换空值
Array ( [0] => sandhika [1] => anggoro [2] => carl [3] => keith )
函数tambah_penumpang($daftar_penumpang,$penumpang_baru)
{
$tmpArray=[];
对于($i=0;$i
由于我不熟悉您的命名约定,我使用以下方法制作了一个全局示例:
<?php
function tambah_penumpang($daftar_penumpang, $penumpang_baru){
$datas = [];
for($i = 0; $i < count($daftar_penumpang); $i++) {
$item = $daftar_penumpang[$i];
if($item === null) {
$item = $penumpang_baru;
}
$datas[$i] = $item;
}
return $datas;
}
$daftar_penumpang =["sandhika",null,"carl","keith"];
print_r(tambah_penumpang($daftar_penumpang,"anggoro"))."<br>";
实例:
对于您的情况:
$daftar_penumpang =["sandhika",null,"carl","keith"];
array_walk($daftar_penumpang, function($v, $k, $replacement) use (&$daftar_penumpang) {
if ($v == null) {
$daftar_penumpang[$k] = $replacement;
}
}, 'anggoro');
print_r($daftar_penumpang);
这将输出:
$daftar_penumpang =["sandhika",null,"carl","keith"];
function tambah_penumpang($daftar_penumpang, $penumpang_baru) {
array_walk($daftar_penumpang, function($v, $k, $replacement) use (&$daftar_penumpang) {
if ($v == null) {
$daftar_penumpang[$k] = $replacement;
}
}, $penumpang_baru);
return $daftar_penumpang;
}
print_r(tambah_penumpang($daftar_penumpang, 'anggoro'));
更新
使用for循环:
您的代码问题是,您永远不会进入for循环,因为它处于else
状态,而$namaArray
始终为空,因此您永远不会执行循环,因此我已删除此检查并准备此循环,以向您展示如何使用for循环替换空值
Array ( [0] => sandhika [1] => anggoro [2] => carl [3] => keith )
函数tambah_penumpang($daftar_penumpang,$penumpang_baru)
{
$tmpArray=[];
对于($i=0;$i
您的意思是用相同的顺序替换?是的,通过扫描空索引/位置将其替换为空索引您的意思是用相同的顺序替换?是的,通过扫描空索引/位置将其替换为空索引我更新了答案,没有大的变化。但是如果这是一个家庭作业,你不应该使用堆栈溢出来做这件事。我真的被困在这里,我没有任何想法来解决它哈哈,顺便说一句,谢谢你的回答。我会试试,如果它不起作用我会告诉你谢谢我更新了我的答案,没有大的变化。但是如果这是一个家庭作业,你不应该使用堆栈溢出来做这件事。我真的被困在这里,我没有任何想法来解决它哈哈,顺便说一句,谢谢你的回答。我会尝试一下,如果它不起作用,我会告诉你谢谢我的教授告诉我使用UDF函数,我有可能将你的代码替换到我的函数体中吗?告诉他php提供了一些新的很酷的特性,比如array\u Walk但是,你的代码返回新值而不是替换,因为这个和平if(empty($namarray)==true)
,如果(空($namaArray)==true),我的错误只会在这段代码中产生??你如何发送$namaArray
?我的教授告诉我使用UDF函数,我是否可以将你的代码替换到我的函数体中?告诉他php提供了一些新的很酷的特性,比如数组,但是,你的代码返回新值而不是替换值,因为这个和平if(empty($namaArray)==true)
所以,如果(空($namaArray)==true),我的错误只会在这段代码中产生??您如何发送$namaArray
??