我正在尝试创建一个与array函数具有相同参数的函数。示例代码是
<?php
function a ($k=>$v){
echo "key is $k and value is $v";
}
a ('hello' => 'world');
当我尝试运行此代码时。我得到了一个错误,如下所示
解析错误:语法错误,意外&#39; =&gt;&#39; (
我已将代码放在http://codepad.viper-7.com/SzVBmb
我想知道是否有可能用php做我想做的事。
编辑: 实现它的可能方法,但我不是很喜欢:
function a ($arr){
$v = reset($arr);
$k = key($arr);
echo $key is $k and value is $v";
}
a(["hello"=>"world"]);
我也搜索了这种东西的元组,但没有运气。
答案 0 :(得分:0)
您没有正确地将数组发送到'hello' => 'world'
array()
所需的功能
这是正确的
function a ($array)
{
$key = array_keys($array);
echo "key is $key[0] and value is ".$array[$key[0]];
}
a (array('hello' => 'world'));
或者
function a ($key,$value)
{
echo "key is $key and value is ".$value;
}
a ('hello' , 'world');
OR
function a ($param)
{
$param = explode('=>',$param);
echo "key is $param[0] and value is ".$param[1];
}
a ('hello=>world');
答案 1 :(得分:0)
试试这个:
<?php
function a($a=array()){
foreach($a as $k=>$v){
echo "key is $k and value is $v";
}
}
a(array('hello' => 'world'));
?>
答案 2 :(得分:0)
试试这个
<?php
$fruits = array("d" => "lemon", "a" => "orange");
function test_print($item2, $key)
{
echo "$key. $item2<br />\n";
}
array_walk($fruits, 'test_print');
?>
答案 3 :(得分:0)
您基本上要求foreach
循环但语法不同。看起来你只想得到第一套。
function a(array $arr) {
list($k) = array_keys($arr);
$r = array($k=>$arr[$k]);
unset($arr[$k]);
return $r;
}
var_dump(a(array("Hi" => "World", "John" => "Smith")));
节目输出:
array(1) {
["Hi"]=>
string(5) "World"
}