// Other variables
$MAX_FILENAME_LENGTH = 260;
$file_name = $_FILES[$upload_name]['name'];
//echo "testing-".$file_name."<br>";
//$file_name = strtolower($file_name);
$file_extension = end(explode('.', $file_name)); //ERROR ON THIS LINE
$uploadErrors = array(
0=>'There is no error, the file uploaded with success',
1=>'The uploaded file exceeds the upload max filesize allowed.',
2=>'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form',
3=>'The uploaded file was only partially uploaded',
4=>'No file was uploaded',
6=>'Missing a temporary folder'
);
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?2天后仍然卡住了.
我有一个对象数组,php中的任何数组.我如何跳过foreach迭代中的最后一个元素?
确定foreach循环位于最终循环中并相应执行不同功能的最佳方法是什么?
鉴于我有一个如下数组:
$array = array('a', 'b', 0, 'c', null, 'd');
Run Code Online (Sandbox Code Playgroud)
现在,我可以轻松地迭代它foreach:
foreach($array as $value){
var_dump($value);
}
Run Code Online (Sandbox Code Playgroud)
一切都很好,很好.但是,如果我想" 查看 "以查看我是否在最后一个元素上,则以下内容将不起作用:
reset($array);
while($value = current($array)){
var_dump($value);
if(next($array)){
// this won't be accurate because of the 0 element
}
}
Run Code Online (Sandbox Code Playgroud)
好的,所以我做了更严格的测试:
if(null !== next($array)){
// this STILL won't be accurate because of the null element
}
Run Code Online (Sandbox Code Playgroud)
是使用for带算术偷看的索引循环的唯一解决方案吗?我不认为这可以保持关联密钥的完整性而不需要大量的闲逛.(我知道我的例子并不例证这个警告,但我换current()了each(),并next()为current())
有没有万无一失的方法来准确地确定数组指针是否已经移动经过阵列的端部,不管阵列元素值(null,0等)
警告; 当然,使用临时变量存在大量的解决方案,但这种操作只需要肮脏和愚蠢.我很惊讶没有简洁的解决方案.
嗯,这绝不是一个完美的解决方案,因为Note但是这里是: …array_keys()正在创建一个新的数组
每当我必须确定 foreach 循环中的当前循环是否是最后一个循环时,我会使用以下方法:
<?php
$i = count($myArray);
foreach ($myArray as $item) {
/** code goes here... */
$i--;
if ($i == 0) {
/** something happens here */
}
}
?>
Run Code Online (Sandbox Code Playgroud)
通常,这可以通过知道循环变量(first、last、...)在模板系统(例如 Latte、Smarty 等)中轻松完成。我的问题是:PHP 中是否有类似的功能?
关键是你必须创建$i变量,然后增加它并检查值。我只是想知道是否有更简单的解决方案可以让我的生活更轻松一些。:)
我有单个帖子的 WordPress 标签循环的下一个代码:
<?php if ($tags) : foreach($tags as $tag): ?>
<a href="<?php echo get_tag_link($tag); ?>">
<?php echo $tag->name; ?>
</a>,
<?php endforeach; endif; ?>
Run Code Online (Sandbox Code Playgroud)
我在最后一个锚点添加了逗号。逗号后面还有空格。
当我使用 foreach() PHP 循环执行此操作时,如何删除最后一个锚点中的逗号?
感谢您的想法和帮助!
我有一个代码:
<?php $loop = some array with posts;
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="class">
<p>(data)</p>
</div>
<?php endwhile; ?>
Run Code Online (Sandbox Code Playgroud)
现在我想要为最后一个循环更改div类(从"class"到"class2").怎么做?
例:
当"一些有帖子的数组"现在有4条记录时,我得到:
<div class="class"><p>data</p></div>
<div class="class"><p>data</p></div>
<div class="class"><p>data</p></div>
<div class="class"><p>data</p></div>
Run Code Online (Sandbox Code Playgroud)
我想得到:
<div class="class"><p>data</p></div>
<div class="class"><p>data</p></div>
<div class="class"><p>data</p></div>
<div class="class2"><p>data</p></div> <!-- this one is different -->
Run Code Online (Sandbox Code Playgroud)
无论有多少阵列元素,我都在寻找能够工作的东西.
坦克!
php ×7
foreach ×4
loops ×3
arrays ×2
wordpress ×2
comparison ×1
iteration ×1
null ×1
while-loop ×1