Turning an Array into a String

convert it into a  formatted string.
Use join( ):
// make a comma delimited list
$string = join(',', $array);

Or loop yourself:
$string = '';

foreach ($array as $key => $value) {
    $string .= ",$value";
}

$string = substr($string, 1); // remove leading ","
 
 
If you can use join( ), do; it's faster than any PHP-based loop. However, join( ) isn't very flexible. First, it places a delimiter only between elements, not around them. To wrap elements inside HTML bold tags and separate them with commas, do this:
$left = '<b>'; $right = '</b>'; $html = $left . join("$right,$left", $html) . $right;
Second, join( ) doesn't allow you to discriminate against values. If you want to include a subset of entries, you need to loop yourself:
$string = ''; foreach ($fields as $key => $value) { // don't include password if ('password' != $key) { $string .= ",<b>$value</b>"; } } $string = substr($string, 1); // remove leading ","
 

Setting Environment Variables

Setting environment variables in your server configuration
on a host-by-host basis allows you to configure virtual hosts differently.

<?php
putenv('ORACLE_SID=ORACLE'); // configure oci extension
?>
 

Adjusting behavior based on an environment variable

 <?php
$version = $_SERVER['SITE_VERSION'];

// redirect to http://guest.example.com, 
//if user fails to sign in correctly
if ('members' == $version) {
    if (!authenticate_user($_POST['username'], $_POST['password'])) {
        header('Location: http://guest.example.com/');
        exit;
    }
}
include_once "${version}_header"; // load custom header

http://www.php.net/putenv; information on setting environment 
variables in Apache at 

Extracting Substrings

You want to extract part of a string, starting at a particular place in the string. For example, you want the first eight characters of a username entered into a form.

 Extracting a substring with substr( )

<?php
$substring = substr($string,$start,$length);
$username = substr($_GET['username'],0,8);
?>
 
If $start and $length are positive, substr( ) returns 
$length characters in the string, starting at $start.
 
If $start is bigger than the length of the string, substr( ) returns false..
 


Setting Default Values for Function Parameters

Assign the default value to the parameters inside the function prototype:

function wrap_html_tag($string, $tag = 'b') {
    return "<$tag>$string</$tag>";
}
 
 
The example in the Solution sets the default tag value to b, for bold. For example:
$string = 'I am some HTML'; wrap_html_tag($string);
returns:
<b>I am some HTML</b>
This example:
wrap_html_tag($string, 'i');
returns:
<i>I am some HTML</i>


There are two important things to remember when assigning default values. First, all parameters with default values must appear after parameters without defaults. Otherwise, PHP can't tell which parameters are omitted and should take the default value and which arguments are overriding the default. So wrap_html_tag( ) can't be defined as:
function wrap_html_tag($tag = 'i', $string)

If you do this and pass wrap_html_tag( ) only a single argument, PHP assigns the value to $tag and issues a warning complaining of a missing second argument.
Second, the assigned value must be a constant, such as a string or a number. It can't be a variable. Again, 
using wrap_html_tag( ), such as our example, you can't do this:
$my_favorite_html_tag = 'i'; function wrap_html_tag($string, $tag = $my_favorite_html_tag) { ... }
If you want to assign a default of nothing, one solution is to assign the empty string to your parameter:
function wrap_html_tag($string, $tag = '') { if (empty($tag)) return $string; return "<$tag>$string</$tag>"; }
This function returns the original string, if no value is passed in for the $tag. Or if a (nonempty) tag is passed in, it returns the string wrapped inside of tags.

Depending on circumstances, another option for the $tag default value is either 0 or NULL. In wrap_html_tag( ), you don't want to allow an empty-valued tag. However, in some cases, the empty string can be an acceptable option. For instance, join( ) is often called on the empty string, after calling file( ), to place a file into a string. Also, as the following code shows, you can use a default message if no argument is provided but an empty message if the empty string is passed:
function pc_log_db_error($message = NULL) { if (is_null($message)) { $message = 'Couldn't connect to DB'; } error_log("[DB] [$message]"); }
 

CuteNews right

Additional X-Field, ability to see the first posts while adding and editing,
 PHP-code error protection while news output, error logging at backend.

A notable feature of the CuteNews engine is that it doesn't use MySQL to store news,
comments, user profiles, or any other data.
The CuteNews engine can be installed on practically any web server.

CuteNews allows for different types of users with different permission levels: Administrator, Editor, Journalist, Commenter. Each of these types of users has access to different features on a
CuteNews-driven website.

You don't have to worry about creating news items: CuteNews does everything automatically. It is also capable of archiving old news items and activating postponed ones on its own.

Download Cute News 1.5.2 zip (570 Kb)

Staying Private on the Facebook

Facebook is a personal vault that can contain photos of your firstborn, plans to bring down your government and, occasionally, a record of your indiscretions.

Facebook insists it is up to you to decide how much you want others to see. And that is true, to some extent. But you cannot entirely opt out of Facebook searches. Facebook, however, does let you fine-tune who can see your “likes” and pictures, and, to a lesser extent, how much of yourself to expose to marketers.
The latest of its frequent changes to the site’s privacy settings was made in December. Facebook is nudging each of its billion subscribers to review them.

Apple took home 72% of all handset profits last quarter

  • Apple took home 72% of the profits with only 21.7% of unit sales (up from 15.4% in Q3).
  • Samsung's 29% of the profits came from 28.9% of unit sales (down from 32.3% in Q3).
  • 43 cents of every dollar spent in the world on a cellphone in Q4 ended up in Apple's coffers.
  • Samsung got 36 cents. Nokia got 7 cents. All the rest got less than 5.
  • For 2013, Walkley predicts that Apple and Samsung will split 103% of the profits, 69/34.

4G may lead to bigger smartphone bills

Thinking about upgrading to a 4G phone? Prepare to pay more. Before you know it, those 2-gigabyte data caps your carrier put in place just aren't going to cut it.

The average American will use 6.2 GB of data on their mobile devices each month in 2017, according to the latest annual Visual Networking Index released by Cisco (CSCO, Fortune 500). To put that into context, Americans used just 752 MB Americans on average last year.

If data plans stay the same five years down the road, the average user's smartphone bill could grow by $40 a month.
The wide-spread roll-out of 4G, the lightning-fast wireless networks that all four of the major carriers are in the process of deploying across the country, is expected to be the main culprit. 4G is capable of speeds comparable to your home broadband service, and it's roughly 10 times faster than 3G. By 2017, Cisco predicts that the average smartphone connection speed will grow more than three-fold.

JavaScript Interview Questions

JavaScript Interview Questions




What is the difference between == and === ?
The == checks for value equality, but === checks for both type and value.

difference between innerHTML and append() in JavaScript?
InnerHTML is not standard, and its a String. The DOM is not, and although innerHTML is faster and less verbose, its better to use the DOM methods like appendChild(), firstChild.nodeValue, etc to alter innerHTML content.

break and continue statements?
Continue statement continues the current loop (if label not specified) in a new iteration whereas break statement exits the current loop. 



Javascript closures?
A closure takes place when a function creates an environment that binds local variables to it in such a way that they are kept alive after the function has returned. A closure is a special kind of object that combines two things: a function, and any local variables that were in-scope at the time that the closure was created.

What is Strict Mode in JavaScript?
Strict Mode has been introduced as part of ECMAScript 5 and introduces new, restricted variant of JavaScript which has following aims:
  • Throws errors for actions that are rather silly but previously didn’t throw an error
  • Throws errors for potentially unsafe actions
  • Disables functions that are poorly thought out
  • Potentially code in strict mode could run faster by eliminating mistakes that would make it difficult for JavaScript engines to perform optimizations
Is javascript case sensitive?
Yes javascript is case sensitive.
Examples are isNaN , Number, new Array().

How to set the cursor to wait ?
document.body.style.cursor = 'wait';
//do something interesting and time consuming
document.body.style.cursor = 'auto';  



What's Prototypes for JavaScript?  
Objects have "prototypes" from which they may inherit fields and functions. 

 a checkbox using Javascript?  
var checked = window.document.getElementById("thmyCheckBox").checked;
What does "5"+2+4 evaluate to?  
Since 5 is a string, everything is a string, so the result is 524.  
How to create arrays in JavaScript? 
 declare an array like this
var scripts = new Array();
We can add elements to this array like this

scripts[0] = "A";
scripts[1] = "B";
scripts[2] = "C";
scripts[3] = "D"; 
 


isNaN function?
Return true if the argument is not a number.  


GET and POST in HTML forms?
GETmethod: Parameters are passed in the querystring. Maximum amount of data that can be sent via the GET method is limited to about 2kb.
POST
method: Parameters are passed in the request body. There is no limit to the amount of data that can be transferred using POST. However, there are limits on the maximum amount of data that can be transferred in one name/value pair.
 


Differentiate between “var a=5” and “a =5” ?
difference is between the two is that one variable is local and the other is global.


How to get value from a textbox?

document.getElementById('txtbox1').value;

What are global variables?

Global variables are available throughout your code: That is, the variables have no scope. Local variables scope, on the other hand, is restricted to where it is declared (like within a function). The var keyword is used to declare a local variable or object, while omitting the var keyword creates a global variable.

// Declare a local variable
var localVariable = "testtest";
// Declare a global
globalVariable = "Cghdg";

What are JavaScript types?

• Number
• String
• Boolean
• Function
• Object
• Null
• Undefined

What is this keyword?

It refers to the current object.


how html Elements using javascript? 
the getElementById method is preferred.
document.getElementById("test").style.color = "green";

 


 

 


Prototypes

Every Java-
Script object has a second JavaScript object (or null, but this
is rare) associated with it. This second object is known as a
prototype, and the first object inherits properties from the
prototype.
All objects created by object literals have the same prototype
object, and we can refer to this prototype object in JavaScript
code as Object.prototype. Objects created using the new keyword
and a constructor invocation use the value of the proto
type property of the constructor function as their prototype.
So the object created by new Object() inherits from Object.pro
totype just as the object created by {} does. Similarly, the object
created by new Array() uses Array.prototype as its prototype,
and the object created by new Date() uses Date.prototype as its
prototype.
Object.prototype is one of the rare objects that has no prototype:
it does not inherit any properties. Other prototype objects
are normal objects that do have a prototype. All of the built-in
constructors (and most user-defined constructors) have a prototype
that inherits from Object.prototype.

Object.create() is a static function, not a method invoked on
individual objects. To use it, simply pass the desired prototype
object:
// o1 inherits properties x and y.
var o1 = Object.create({x:1, y:2});