$workflowDefinitions = $reply->readWorkflowSettingsReturn->workflowSettings->workflowDefinitions->assetIdentifier;
    if (sizeof($workflowDefinitions) == 0) {
        $workflowDefinitions = array();
    } else {
        if (!is_array($workflowDefinitions)) {
            // For less than 2 eleements, the returned object isn't an array
            $workflowDefinitions = array($workflowDefinitions);
        }
    }
    $alreadyContains = false;
    foreach ($workflowDefinitions as $identifier) {
        if ($identifier->id == $workflowDefinitionIdentifier->id) {
            $alreadyContains = true;
        }
    }
    if ($alreadyContains) {
        echo "Workflow definition is alraedy assigned";
    } else {
        $workflowDefinitions[] = $workflowDefinitionIdentifier;
        $reply->readWorkflowSettingsReturn->workflowSettings->workflowDefinitions->assetIdentifier = $workflowDefinitions;
        $editParams = array('authentication' => $auth, 'workflowSettings' => $reply->readWorkflowSettingsReturn->workflowSettings, 'applyInheritWorkflowsToChildren' => false, 'applyRequireWorkflowToChildren' => false);
        $reply = $client->editWorkflowSettings($editParams);
        if ($reply->editWorkflowSettingsReturn->success == 'true') {
            echo "Success.";
        } else {
            echo "Error occurred when editing workflow settings: " . $reply->editWorkflowSettingsReturn->message;
        }
    }
} else {
    echo "Error occurred: " . $reply->readWorkflowSettingsReturn->message;
}