gpt4 book ai didi

PHP 开关,为什么这不起作用?

转载 作者:可可西里 更新时间:2023-11-01 00:16:02 28 4
gpt4 key购买 nike

我有一个奇怪的问题,我似乎无法解决。我有相当复杂的代码,但我已经简化了它,问题仍然存在。

请参阅以下内容:

<?php
$meta = array('meta_title' => 'correct');

switch (true) {
case empty($meta['meta_description']):
$meta['meta_description'] = 'incorrect';
case empty($meta['meta_keywords']):
$meta['meta_keywords'] = 'incorrect';
case empty($meta['meta_title']):
$meta['meta_title'] = 'incorrect';
}

print_r($meta);

现在出于某种原因,他的 meta_title 返回为不正确,尽管它已在数组中明确设置。就好像它忽略了外壳而只是掉了下来。

我在以下位置设置了一个示例:http://codepad.org/mQH9Kf1L

提前致谢!

更新

看看我在哪里使用它可能更有意义。请参阅以下内容: http://codepad.org/WnxBp8Nt (从第 43 行开始)

只是出于兴趣,我改变了我添加了一个快速微型计时器并测试了这个版本和一个用单独的 ifs 编写的版本。 if 版本出来的有点慢。

最佳答案

它没有执行您想要的操作的原因是,如果情况 1 为真,则情况 2 和 3 会自动触发(如果情况 2 为真,则情况 3 始终触发)。这不是 switch 的用途。你真的只需要 3 个单独的 if 子句:

<?php
$meta = array('meta_title' => 'correct');

if (empty($meta['meta_description']))
$meta['meta_description'] = 'incorrect';
if (empty($meta['meta_keywords']))
$meta['meta_keywords'] = 'incorrect';
if (empty($meta['meta_title']))
$meta['meta_title'] = 'incorrect';

print_r($meta);

关于PHP 开关,为什么这不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9878789/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com