我有一个数字数组,我需要创建一个随机数,然后检查该数字是否不在数组中,如果是,则创建另一个随机数,然后检查该数字是否在数组中。
例子。
array = 1, 2, 4, 5, 7
rand(1, 7) = 3 or 6
Run Code Online (Sandbox Code Playgroud)
如果 rand(1, 7) = 1, 2, 4, 5 或 7 它将再次运行,直到返回 3 或 6。
有人知道如何在 php 中做到这一点吗?
有人告诉我应该对 Doctrine POPO 实体进行编码以实现接口。我的理解是,最好的做法是对接口进行编码。
有人可以为我提供一些让我的 Doctrine 实体实现接口的好处吗?在我花时间编写所有实现接口的实体之前,我想确保我了解进行这种抽象的好处。下面是一个示例(请注意,为简单起见,包含了 Doctrine 注释):
<?php
class User implements UserInterface()
{
function getName() {
return $this->name;
}
function setName($name) {
$this->name = $name;
}
function addPermission(Permission $permission) {
$this->permissions[] = $permission;
}
}
interface UserInterface()
{
function getName();
function setName($name);
function addPermission(Permission $permission);
}
Run Code Online (Sandbox Code Playgroud) 我正在制作一个脚本,通过大量的电子邮件寻找两个字符串.
它会发现been all shipped on [timestamp here]或shipped by the seller on [timestamp here].
现在我得到一个空匹配,$res[1]如果它只找到第二个字符串,并且$res[2]如果它只找到第一个字符串则为空.我如何解决这个问题,以便始终填写$res[1]所找到的时间戳?
if (preg_match("/been all shipped on ([0-9]{4}\.[0-9]{2}\.[0-9]{2} [0-9]{2}:[0-9]{2})|shipped by the seller on ([0-9]{4}\.[0-9]{2}\.[0-9]{2} [0-9]{2}:[0-9]{2})/", strip_tags($message), $res)) {
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Bootstrap模板自定义生成器来更改默认状态和使用它们的按钮的颜色。
我已正确更改了所有状态,但是在生成按钮组并使用具有禁用状态的主按钮时,它仍会生成蓝色边框,我似乎无法在Bootstrap的生成器中找到更改选项。码:
<a href="#" class="btn btn-primary disabled">
<strong>Title here</strong>
<br><small>Hello world!</small>
</a>
Run Code Online (Sandbox Code Playgroud)
这是生成此代码的原因(请注意,与未使用左侧边框的左侧按钮相比,该边框较浅,因为未禁用它):

检查元素将显示以下内容:
.btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover, .btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus,
.btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled:active, .btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active,
.btn-primary[disabled].active, fieldset[disabled] .btn-primary.active {
background-color: #428bca;
border-color: #357ebd; /* these are light blue colours */
}
Run Code Online (Sandbox Code Playgroud)
我似乎在模板生成器中找不到任何引用@btn-primary-disabled-border或类似的变化。我浏览disabled了该页面中的所有引用,但似乎没有引用它。
我在某处缺少什么吗?还是需要手动重写CSS?如果可能的话,我想继续使用Bootstrap的LESS编译器。
我在测试脚本中设置了一个PDO连接:
use app\SomeDAO;
class SomeTest extends \PHPUnit_Framework_TestCase
{
protected $db;
public function setUp()
{
$dsn = "mysql:host=localhost;dbname=baseball;user=root;password=root";
$this->db = new PDO($dsn);
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
PDOException:SQLSTATE [HY000] [2002]没有这样的文件或目录.
我如何在这里使用PDO?
我正在寻找一种有效的方法来使用json_encode作为对象数组.我遇到的问题是我的对象都有私有属性(使用getter和setter)而json_encode不会将它们拉进去.所以我为一个对象创建了一个jsonSerialize函数,返回私有变量,但我不知道如何执行有效地为数组中的每个对象的功能.我可以使用循环为每个对象执行jsonSerialize函数,但我担心这可能太慢了.
class car
{
private $make, $model;
public function jsonSerialize()
{
return get_object_vars($this);
}
}
Run Code Online (Sandbox Code Playgroud)
控制器功能以json格式返回汽车列表
$cars = $db->getAllCars(); //returns an array of objects using fetchall
return json_encode($cars);
Run Code Online (Sandbox Code Playgroud) 是否可以使用DataExtension重载Enum字段?
class Order extends DataObject {
private static $db=array('Status'=>"Enum('Unpaid, Paid','Unpaid')";
}
class OrderExtension extends DataExtension {
private static $db=array('Status'=>"Enum('Unpaid, Paid, Cancelled','Unpaid')"; //doesn't work
}
Run Code Online (Sandbox Code Playgroud) 我是Magento的新手.我想在添加列newsletter_subscriber的表,所以我做了一个新的文件mysql4-upgrade-1.6.0.0-1.6.0.1.php中app/code/core/mage/newsletter_setup/
<?php
$installer = $this;
$installer->startSetup();
$installer->getConnection()->addColumn(
$this->getTable('newsletter/subscriber'), //table name
'groupid', //column name
'varchar(100) NOT NULL' //datatype definition
);
$installer->endSetup();
?>
Run Code Online (Sandbox Code Playgroud)
我更新了配置文件:
<modules>
<Mage_Newsletter>
<version>1.6.0.0</version>
</Mage_Newsletter>
</modules>
Run Code Online (Sandbox Code Playgroud)
它不起作用,请指导我做错了什么
在Silverstripe 3中,eveything按需自动加载.这意味着人们可以知道他们想要使用的类和方法.例:
Debug::dump('dump message');
Run Code Online (Sandbox Code Playgroud)
如果我正确理解SS4的概念,则需要将类导入到您要使用方法(或属性)的文件中.在上面的示例中,需要在文件顶部执行以下操作
use /name/space/to/Debug
Debug::dump('dump message');
Run Code Online (Sandbox Code Playgroud)
这种理解是否正确?如果是这样,我真正的问题是开发人员如何有效地知道核心中所有内容的准确位置?他们是否希望知道这些核心文件在系统中的确切位置,以及您希望使用的名称和方法?有没有工具或方法可以帮助解决这个问题?
我有这样的数组:
array(2) {
[0]=> array(1) {
["name"]=> string(8) "TestName"
}
[1]=> array(1) {
["surname"]=> string(6) "iljado"
}
}
Run Code Online (Sandbox Code Playgroud)
我需要它像这样:
array(2) {
["name"]=> string(8) "TestName" ,
["surname"]=> string(6) "iljado"
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?