PHP从Array Key中删除Square Brackets

时间:2012-12-09 20:57:16

标签: php arrays key

答案:

所以我的问题是使用$ eventValue而不是密钥。我假设当键被添加到$ days数组时,键被括在括号中,但事实并非如此。 var_export向我展示了真正添加到数组中的内容。

为了解决这个问题,我从$ eventValue中删除了封闭引号以及尾随逗号。

以下是原始问题:

道歉,因为我不知道很多PHP,但我正在努力实现一些我希望有人可以帮助的东西。

我有一个循环,它会查找一个月中的特定日期以在日历上突出显示。为了使日历突出显示特定日期并将其包装在类和链接标记中,我需要数组采用以下格式:

$days = array(

    2 => array('/weblog/archive/2004/Jan/02', 'linked-day'),
    3 => array('/weblog/archive/2004/Jan/03', 'linked-day'),
    8 => array('/weblog/archive/2004/Jan/08', 'linked-day'),
    22 => array('/weblog/archive/2004/Jan/22', 'linked-day'),

);

在我的循环中,我有两个变量:

$eventDay = substr("$str", -2, 2);
$eventValue = "array('http://example.com', 'linked-day'),";

在我的循环结束时我有这个:

$days[$eventDay] = $eventValue;

问题是,当我print_r($ days)时,我的$ eventDay键被包含在[]方括号中,因此日历找不到日期。我需要找到一种方法来防止它被括在括号中。

也许我接近这一切都错了。如果有人有一些建议,我会非常感激。

我正在使用Keith Devens的PHP日历脚本来执行此操作:

http://keithdevens.com/software/php_calendar

谢谢!

完整代码:

http://pastie.org/5503664

1 个答案:

答案 0 :(得分:1)

替换

$eventValue = "array('http://example.com', 'linked-day'),";

$eventValue = array('http://example.com', 'linked-day');

在牧师的第44行