Replace keys in an array based on another lookup/mapping array
$arr[$newkey] = $arr[$oldkey]; unset($arr[$oldkey]);
$arr[$newkey] = $arr[$oldkey]; unset($arr[$oldkey]);
This method was posted by @lauthiamkok in the comments. I’m posting it here as an answer to call more attention to it. Depending on your needs, you should consider using filter_var() with the FILTER_VALIDATE_BOOLEAN flag. filter_var( true, FILTER_VALIDATE_BOOLEAN); // true filter_var( ‘true’, FILTER_VALIDATE_BOOLEAN); // true filter_var( 1, FILTER_VALIDATE_BOOLEAN); // true filter_var( ‘1’, FILTER_VALIDATE_BOOLEAN); // true … Read more
It will depend on your purpose. If interoperability with other systems is important then it seems rawurlencode is the way to go. The one exception is legacy systems which expect the query string to follow form-encoding style of spaces encoded as + instead of %20 (in which case you need urlencode). rawurlencode follows RFC 1738 … Read more
From the manual entry for PDOStatement::bindParam: [With bindParam] Unlike PDOStatement::bindValue(), the variable is bound as a reference and will only be evaluated at the time that PDOStatement::execute() is called. So, for example: $sex = ‘male’; $s = $dbh->prepare(‘SELECT name FROM students WHERE sex = :sex’); $s->bindParam(‘:sex’, $sex); // use bindParam to bind the variable $sex … Read more
LAST EDIT: after 7 years I’m still getting upvotes for this answer, but I guess this one is now much more accurate. Sure you can, but you’ll need to render the page with something. If you really want to only use php, I suggest you HTMLTOPS, which renders the page and outputs it in a … Read more
Your new environment may have E_STRICT warnings enabled in error_reporting for PHP versions <= 5.3.x, or simply have error_reporting set to at least E_WARNING with PHP versions >= 5.4. That error is triggered when $res is NULL or not yet initialized: $res = NULL; $res->success = false; // Warning: Creating default object from empty value … Read more
Laravel 4: Change “host” in the app/config/database.php file from “localhost” to “127.0.0.1” Laravel 5+: Change “DB_HOST” in the .env file from “localhost” to “127.0.0.1” I had the exact same problem. None of the above solutions worked for me. I solved the problem by changing the “host” in the /app/config/database.php file from “localhost” to “127.0.0.1”. Not … Read more
Several people misread this as a question about how to store passwords in a database. That is wrong. It is about how to store the password that lets you get to the database. The usual solution is to move the password out of source-code into a configuration file. Then leave administration and securing that configuration … Read more
It’s the “null coalescing operator”, added in php 7.0. The definition of how it works is: It returns its first operand if it exists and is not NULL; otherwise it returns its second operand. So it’s actually just isset() in a handy operator. Those two are equivalent1: $foo = $bar ?? ‘something’; $foo = isset($bar) … Read more
If you’re on Windows: Go to your php.ini file and remove the ; mark from the beginning of the following line: ;extension=php_curl.dll After you have saved the file you must restart your HTTP server software (e.g. Apache) before this can take effect. For Ubuntu 13.0 and above, simply use the debundled package. In a terminal … Read more