这种语法在php中意味着什么
foreach ( $meta as $t => $data )
$ t => $ data表示上述内容。
因为foreach基本上是(来自w3school的例子)
<?php
$colors = array("red","green","blue","yellow");
foreach ($colors as $value)
{
echo "$value <br>";
}
?>
以上情况$ value代表$t => $data
$colors
代表$meta
数组$ meta如下
$meta = Array(
'facebook' => Array(
'title' => 'og:title',
'type' => 'og:type',
'url' => 'og:url',
'thumbnail' => 'og:image',
'width' => 'og:image:width',
'height' => 'og:image:height',
'sitename' => 'og:site_name',
'key' => 'fb:admins',
'description' => 'og:description'
),
'twitter' => Array(
'card' => 'twitter:card',
'description' => 'twitter:description',
)
);
那么什么是$ t,什么是$ data
如果我想获得&#39; title&#39;在&#39; facebook&#39;作为一个单独的密钥如何做到这一点。即。将
$t => $data => $final work
$t = facebook or twitter
$data = title etc
$final = og:title etc
答案 0 :(得分:2)
如果您使用foreach
,它会循环播放数组的项目。基本语法是:
foreach ($array as $item) {
// first loop: $item=foo
// second loop: $item=bar
}
您可以使用扩展语法
foreach ($array as $key => $item) {}
允许您在$key
变量中获取项目键。例如:
$array = array('foo', 'bar');
foreach ($array as $key => $item) {
// first loop: $key=0, $item=foo
// second loop: $key=1, $item=bar
}
$array
不包含密钥,因此在$key
变量中您有数字(以0
开头)。
如果定义了键(关联数组),$key
将采用定义的键值:
$array = array('key1' => 'foo', 'key2' => 'bar');
foreach ($array as $key => $item) {
// first loop: $key=key1, $item=foo
// second loop: $key=key2, $item=bar
}
答案 1 :(得分:1)
$ t =&gt; $ data表示
$ t - 索引(关键)
$ data - value
答案 2 :(得分:1)
阅读此http://www.php.net/manual/en/control-structures.foreach.php,关注示例。
/* foreach example 3: key and value */
$a = array(
"one" => 1,
"two" => 2,
"three" => 3,
"seventeen" => 17
);
foreach ($a as $k => $v) {
echo "\$a[$k] => $v.\n";
}
/* foreach example 4: multi-dimensional arrays */
$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";
foreach ($a as $v1) {
foreach ($v1 as $v2) {
echo "$v2\n";
}
}
PS:如果你使用php编写官方手册而不是'all-around-sites'。
<强> ADDED 强>
$a = array(
"one" => 1,
"two" => 2,
"three" => 3,
"seventeen" => 17
);
foreach ($a as $k => $v) {
echo "$k => $v";
// will show
// one => 1two => 2three => 3
}
foreach ($a as $v) {
echo "$v";
// will show
// 12317
}
所以,如果我们使用$ k(在我们的foreach()中),我们就有'key'这个名字。在$ v中,我们总是有'价值'。
<强> ADDED 强>
$meta = Array(
'facebook' => Array(
'title' => 'og:title',
'type' => 'og:type',
'url' => 'og:url',
'thumbnail' => 'og:image',
'width' => 'og:image:width',
'height' => 'og:image:height',
'sitename' => 'og:site_name',
'key' => 'fb:admins',
'description' => 'og:description'
),
'twitter' => Array(
'card' => 'twitter:card',
'description' => 'twitter:description',
)
);
foreach ($meta as $sKey => $aValue) {
// $sKey == 'facebook'
// $aValue = array()
// $aValue['title'] == 'og:title'
foreach ($aValue as $sKeyInner => $sValue) {
// $sKeyInner == 'title'
// $sValue == 'og:title'
}
}
就是这样,我放弃了。 XD
答案 3 :(得分:0)
此语法允许您迭代所有项目,并且还可以使用数组的键。
看一下the documentation,这个语法最好解释如下:
foreach (array_expression as $key => $value)
statement
... [此语法]还会在每次迭代时将当前元素的键分配给$ key变量。
在您的示例中,键将是数组中的元素索引。
答案 4 :(得分:0)
在您的示例中,它表示$ meta是一个数组,$ t是数组键,$ data是键的值。 例如,$ t可以是3和$ data&#34;黄色&#34;
答案 5 :(得分:0)
php中有两种类型的数组
对于普通数组:
<?php
$colors = array("red","green","blue","yellow");
foreach ($colors as $value)
{
echo "$value"; // prints red,green...
}
?>
对于关联数组:
例如:数组([0] =&gt;数组([Bookcode] =&gt; 124 [Bookname] =&gt; asd) [1] =&gt;数组([Bookcode] =&gt; 125 [Bookname] =&gt; asd) )
<?php
foreach($arr as $key => $val)
{
echo $key; //prints--> 124
echo $val; //prints -->asd
}
?>