我有一个如下所示的数组。我想要的是根据$my[]['title']
项的数量回应一个单词。在这种情况下,这个词必须重复4次。
sudo代码是这样的:
<?php
$my[0]['title']='first title';
$my[0]['description']='description';
$my[0]['date']='date';
$my[1]['title']='second title';
$my[1]['description']='description';
$my[1]['date']='date';
$my[2]['title']='third title';
$my[3]['title']='forth title';
for($i=0;$i<count($my[]['title'];$i++)
echo 'this is test';
?>
答案 0 :(得分:1)
您的测试数据可以使用foreach
循环正常运行,但假设您的数组可以包含不具有标题键的行,则可以使用{{3 }}:
$count = count(array_column($my, 'title'));
for($i=0; $i<$count; $i++) {
echo 'this is test';
}
答案 1 :(得分:0)
这是foreach
的用途。它迭代整个数组
foreach($my as $row) echo 'This is my test;
每个数组条目一次你想要的回音
答案 2 :(得分:0)
$count = 0;
foreach($my as $val){
if(isset($val['title'])){
echo 'this is test';
$count++;
}
}
输出&#34;这是测试&#34;取决于它看到title
索引的次数。
工作代码:array_column
答案 3 :(得分:0)
您可以使用array_column
:
$titleCount = count(array_column($my, 'title'));
for($i=0; $i<$titleCount; $i++)
echo 'this is test';
?>
http://php.net/manual/en/function.array-column.php
根据链接手册,这可以从php v5.5获得。
如果您使用的是旧版本(您应该真正更新...),那么这里是等效的用户定义函数(来自手册评论部分):
if(!function_exists("array_column"))
{
function array_column($array,$column_name)
{
return array_map(function($element) use($column_name){return $element[$column_name];}, $array);
}
}
答案 4 :(得分:0)
如果您使用的是php5.5及更高版本,请使用array_column函数捕获您想要的所有密钥,然后计算它们。
$my[0]['title']='first title';
$my[0]['description']='description';
$my[0]['date']='date';
$my[1]['title']='second title';
$my[1]['description']='description';
$my[1]['date']='date';
$my[2]['title']='third title';
$my[3]['title']='forth title';
$a = array_column($my, 'title');
if (count($a) >= 4) {
# your code
}
答案 5 :(得分:0)
如果您使用array_column
方法(正如许多人正确推荐的那样),您就不需要使用循环。您可以改为使用str_repeat
。
echo str_repeat('this is test', count(array_column($my, 'title')));
答案 6 :(得分:0)
foreach($my as $key => $val){
if ( isset( $val['title']) ){
echo $key;
}
}